利用Java.Swing写出一个简单的银行系统

代码

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();
    }
}






说明

  1. 每一个class类都可以单独复制粘贴出来运行,来展示界面
  2. 必须要进行注册,才可以进行登录操作,每一次都要进行注册,这是一个缺点,大家可以尝试将填写过的信息写入文件或者数据库,以方便操作。
  3. (⊙﹏⊙),界面有点乱,采用的流式布局(默认的),本来想全部弄完再去搞,但是懒癌发作了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值