代码
package BankAccountAdvance;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Objects;
import java.util.Scanner;
public class SelectInterFace extends JFrame implements ActionListener {
int functionNum;
String functionLetter;
int saveMoney;
int drawMoney;
String username;
String password;
String passwordCheck;
String idNum;
static double balance;
String checkRe;
String usernameLand;
String passwordLand;
static String[] []userNameStore =new String[4][10000];
static int location=0;
public SelectInterFace() {这是最初的功能选择界面,以实现注册,登录,推出系统等功能
JPanel panel0;
JLabel label0;
JButton loginButton0, exitButton0, createButton0;
this.setTitle("天地银行服务系统");
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel0 = new JPanel();
panel0.setLayout(null);
label0 = new JLabel("欢迎来到天地银行");
label0.setBounds(20, 0, 100, 20);
createButton0 = new JButton("1.创建账号");
createButton0.setBounds(0, 20, 100, 20);
createButton0.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
SelectInterFace.this.setVisible(false);
FunctionRegister goRegister = new FunctionRegister();
goRegister.setVisible(true);
}
});
createButton0.addActionListener(this);
loginButton0= new JButton("2.登录账号");
loginButton0.setBounds(0, 60, 100, 20);
loginButton0.addActionListener(this);
loginButton0.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
SelectInterFace.this.setVisible(false);
FunctionLogin goLogin = new FunctionLogin();
goLogin.setVisible(true);
}
});
exitButton0 = new JButton("3.退出系统");
exitButton0.setBounds(0, 100, 100, 20);
exitButton0.addActionListener(this);
exitButton0.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.exit(0);
}
});
panel0.add(label0);
panel0.add(createButton0);
panel0.add(loginButton0);
panel0.add(exitButton0);
this.add(panel0);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
}
class FunctionRegister extends JFrame implements ActionListener {//这是点击注册按钮后需要跳转到的注册界面
JPanel panel1;
JLabel label1,label2, label3, label4,label5;
JButton registerButton1, exitButton1;
JTextField label2Field, label5Field;
JPasswordField passwordField3, passwordField4;
public FunctionRegister() {
this.setTitle("天地银行注册系统");
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel1 = new JPanel();
label1 = new JLabel("欢迎您注册天地银行");
label2 = new JLabel("请输入您的用户名");
label2Field = new JTextField(16);
label3 = new JLabel("请输入您的密码");
passwordField3 = new JPasswordField(16);
label4 = new JLabel("请再次确认您的密码");
passwordField4 = new JPasswordField(16);
label5 = new JLabel("请输入您的身份证号");
label5Field = new JTextField(18);
registerButton1 = new JButton("注册");
registerButton1.addActionListener(this);
registerButton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
FunctionRegister.this.setVisible(false);
}
});
exitButton1 = new JButton("返回");
exitButton1.addActionListener(this);
exitButton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
FunctionRegister.this.setVisible(false);
SelectInterFace goSelect = new SelectInterFace();
goSelect.setVisible(true);
}
});
panel1.add(label1);
panel1.add(label2);
panel1.add(label2Field);
panel1.add(label3);
panel1.add(passwordField3);
panel1.add(label4);
panel1.add(passwordField4);
panel1.add(label5);
panel1.add(label5Field);
panel1.add(registerButton1);
panel1.add(exitButton1);
this.add(panel1);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == registerButton1) {
if (passwordField3.getText().length() != 6) {
JOptionPane.showMessageDialog(null, "请输入六位数作为密码");
} else if (!Objects.equals(passwordField3.getText(), passwordField4.getText())) {
JOptionPane.showMessageDialog(null, "两次密码前后不一致");
} else if (label5Field.getText().length() != 18) {
JOptionPane.showMessageDialog(null, "身份证号应该为18位");
} else {
ConfirmFace confirm = new ConfirmFace();
confirm.setVisible(true);
}
}
}
class ConfirmFace extends JFrame implements ActionListener {//这是注册确认界面,用户确认之后,可以将信息填充进入数组中
JPanel panel4;
JLabel lable5;
JButton yesButton, noButton;
public ConfirmFace() {
panel4 = new JPanel();
lable5 = new JLabel("您是否确认注册该账户!!");
yesButton = new JButton("是");
noButton = new JButton("否");
panel4.add(lable5);
panel4.add(yesButton);
yesButton.addActionListener(this);
yesButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
ConfirmFace.this.setVisible(false);
FunctionRegister.this.setVisible(false);
AfterConfirm successRegister=new AfterConfirm();
successRegister.setVisible(true);
}
});
panel4.add(noButton);
noButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
ConfirmFace.this.dispose();
FunctionRegister.this.setVisible(true);
}
});
this.add(panel4);
this.setVisible(false);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == yesButton) {
balance=0;userNameStore[0][location]=label2Field.getText();userNameStore[1][location]=passwordField3.getText();
userNameStore[2][location]=label2Field.getText();userNameStore[3][location]= String.valueOf(balance);location++;}}
class AfterConfirm extends JFrame{
JPanel panel6;
JLabel jLabel0;
public AfterConfirm(){//此界面点击注册键之后所实现的界面
jLabel0=new JLabel("恭喜您成为本银行用户,请您登录使用本银行业务");
jLabel0.setLayout(null);
jLabel0.setBounds(0 ,0,100,20);
panel6=new JPanel();
JButton loginButton1=new JButton("登录");
loginButton1.setLayout(null);
loginButton1.setBounds(50, 50,40,30);
loginButton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
AfterConfirm.this.setVisible(false);
SelectInterFace newUser=new SelectInterFace();
newUser.setVisible(true);
}
});
panel6.add(jLabel0);
panel6.add(loginButton1);
this.add(panel6);
this.setVisible(true);
}
}
}
}
class FunctionLogin extends JFrame implements ActionListener {//这是登录界面,用户点击登录后,需要显示的界面
JPanel jPanel2 ;
JLabel jLabel1, jLabel2;
JTextField usernameField1;
JPasswordField jPasswordField1;
JButton loginButton1, exitButton2;
public FunctionLogin() {
this.setTitle("天地银行登录系统");
this.setSize(400,300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jLabel1=new JLabel("请输入您的用户名");
usernameField1=new JTextField(16);
jLabel2=new JLabel("请输入您的密码");
jPasswordField1=new JPasswordField(16);
loginButton1=new JButton("登录");
loginButton1.addActionListener(this);
exitButton2=new JButton("返回");
exitButton2.addActionListener(this);
exitButton2.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
FunctionLogin.this.setVisible(false);
SelectInterFace mainInterface=new SelectInterFace();
mainInterface.setVisible(true);
}
});
jPanel2=new JPanel();
jPanel2.add(jLabel1);
jPanel2.add(usernameField1);
jPanel2.add(jLabel2);
jPanel2.add(jPasswordField1);
jPanel2.add(loginButton1);
jPanel2.add(exitButton2);
this.add(jPanel2);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
int check=0;
if (e.getSource()==loginButton1){
System.out.println(userNameStore[0][0]);
System.out.println(userNameStore[0][1]);
for (int i=0;i<10000;i++){
if (Objects.equals(usernameField1.getText(), userNameStore[0][i]) && Objects.equals(jPasswordField1.getText(), userNameStore[1][i])){
check=1;
FunctionLogin.this.dispose();
AfterLogin1 userL=new AfterLogin1();
userL.setVisible(true);
JOptionPane.showMessageDialog(null,"登录成功");break;
}
if (userNameStore[0][i] == null){break;}
}
if (check==0){JOptionPane.showMessageDialog(null,"请检查您的账户或者密码");}
}
}
class AfterLogin1 extends JFrame implements ActionListener {//这是登录成功之后所显示的业务界面
public AfterLogin1() {
JPanel panel5;
JLabel label0;
JButton seeButton, saveButton, drawButton, exitButton3;
this.setTitle("银行业务系统");
label0 = new JLabel("尊敬的用户"+usernameField1.getText()+"请选择要使用的功能");
seeButton=new JButton("查看账户余额");
seeButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(null,"您当前账户余额为"+balance);
}
});
saveButton=new JButton("存钱业务");
saveButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
SaveMoney sav=new SaveMoney();
sav.setVisible(true);
}
});
drawButton=new JButton("取钱业务");
drawButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
DrawMoney dra=new DrawMoney();
dra.setVisible(true);
}
});
exitButton3=new JButton("返回主界面");
exitButton3.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
AfterLogin1.this.dispose();
SelectInterFace haha =new SelectInterFace();
haha.setVisible(true);
}
});
panel5=new JPanel();
panel5.add(label0);
panel5.add(seeButton);
panel5.add(saveButton);
panel5.add(drawButton);
panel5.add(exitButton3);
this.add(panel5);
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
class SaveMoney extends JFrame{
JPanel panel9;
JLabel label1;
JTextField jTextField1;
JButton yesButton1,exitButton4;
public SaveMoney(){
panel9=new JPanel();
this.setTitle("存钱业务");
label1=new JLabel("请输入您的存钱额度");
jTextField1=new JTextField(18);
panel9.add(label1);
panel9.add(jTextField1);
yesButton1=new JButton("存入");
yesButton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
balance= Double.parseDouble(balance+jPasswordField1.getText());
}
});
exitButton4=new JButton("取消");
exitButton4.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
SaveMoney.this.dispose();
}
});
panel9.add(yesButton1);
panel9.add(exitButton4);
label1.setBounds(0,0,40,20);
yesButton1.setBounds(20,50,100,30);
exitButton4.setBounds(50,50,100,30);
this.add(panel9);
}
}
class DrawMoney extends JFrame{
JPanel panel10;
JLabel label1;
JTextField jTextField1;
JButton yesButton1,exitButton4;
public DrawMoney(){
panel10=new JPanel();
panel10.setLayout(null);
this.setTitle("取钱业务");
label1=new JLabel("请输入您的取钱额度");
jTextField1=new JTextField(18);
yesButton1=new JButton("取出");
yesButton1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
double a=balance;
balance= Double.parseDouble(balance+(jTextField1.getText()));
balance=balance-2*(balance-a);
}
});
exitButton4=new JButton("取消");
exitButton4.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
DrawMoney.this.dispose();
}
});
label1.setBounds(0,0,40,20);
jTextField1.setBounds(0,60,40,20);
yesButton1.setBounds(20,50,100,30);
exitButton4.setBounds(50,50,100,30);
panel10.add(label1);
panel10.add(jTextField1);
this.add(panel10);
}
}
}
public static void main(String[] args){
new SelectInterFace();
}
}
说明
- 每一个class类都可以单独复制粘贴出来运行,来展示界面。
- 必须要进行注册,才可以进行登录操作,每一次都要进行注册,这是一个缺点,大家可以尝试将填写过的信息写入文件或者数据库,以方便操作。
- (⊙﹏⊙),界面有点乱,采用的流式布局(默认的),本来想全部弄完再去搞,但是懒癌发作了。