@Override
public void actionPerformed(ActionEvent e) {
// 获取输入的账号和密码
String userName = jtf.getText();
String userPassword = new String(jpf.getPassword());
// 验证是否正确
boolean aBoolean = atm.login(userName, userPassword);
if (aBoolean) {
// 登录成功
dispose();// 关闭登录界面
// 打开功能界面
new WorkingJFrame();
} else
showMessageDialog(“账号或密码错误”);// 调用父类弹窗方法
}
});
// 添加组件
jp.add(jl1);
jp.add(jtf);
jp.add(jl2);
jp.add(jpf);
jp.add(jb);
// 窗体添加面板
add(jp);
}
public static void main(String[] args) {
new LoginJFrame();// 先创建登录界面
}
}
package atmJFrame.myJFrame;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//中间窗口,存钱、取钱、转账、修改密码界面的父类
public class CentreJFrame extends MyJFrame {
// 空布局面板,自己设置组件位置及大小
protected JPanel jp = new JPanel(null);
// 输入金额标签
protected JLabel jl = new JLabel(“请输入金额:”);
// 输入金额文件框
protected JTextField jtf = new JTextField(20);
// 确认、取消按钮
protected JButton jb1 = new JButton(“确认”);
protected JButton jb2 = new JButton(“取消”);
// 转账时转账账号标签
protected JLabel jLabel = new JLabel(“请输入转账账号:”);
// 转账时转账账号文本框
protected JTextField jTextField = new JTextField(20);
// 修改密码时新密码标签
protected JLabel jLabelCP = new JLabel(“请输入新密码(只能为数字):”);
// 修改密码时新密码文本框
protected JTextField jTextFieldCP = new JTextField(20);
// 提醒用户输入金额为100的倍数
private JLabel jle = new JLabel(“( 提示:只能输入100的倍数 )”);
public CentreJFrame(String str) {
super(str);
// 判断要进行的操作
if (str.equals(“转账”))
init1();
else if (str.equals(“修改密码”))
init2();
else
init();
one();// 最后调用共有
}
// 取钱和取钱特有组件
private void init() {
// 输入金额标签,设置字体,位置及大小
jl.setFont(FONT_SIZE_25);
jl.setBounds(100, 100, 200, 100);
// 输入金额文本框
jtf.setBounds(300, 250, 200, 50);
// 添加输入金额标签和输入金额文本框
jp.add(jl);
jp.add(jtf);
setJLE();
}
// 转账特有组件
private void init1() {
init();
// 输入账户标签
jLabel.setFont(FONT_SIZE_25);
jLabel.setBounds(100, 10, 200, 40);
// 输入账户文本
jTextField.setBounds(300, 80, 200, 50);
// 添加输入账户标签和输入账户文本
jp.add(jLabel);</