JAVA小项目-银行管理系统(图形化界面)2-开户与挂失

来源:互联网 发布:omega7 知乎 编辑:程序博客网 时间:2024/06/02 16:07

先上 流程图
这里写图片描述

这次编写开户界面和登录界面
其实 也没什么需要说的
制作 ,姓名,身份证号, 账户名, 密码 开户金额等信息
需要注意的是 身份证号为18位, 并且开户金额必须大于0元

所以我们在事件监听时 要注意

由于 开户操作需要 进行 写入信息的处理, 我们们会验证Check 该账户是否合法或存在, 然后写入UserMessage, 在代码中调用的

new Check().checkmoney();new Check().check2(message[2]);和new UserMessage().write(message);

new Check().checkmoney();//验证金额信息是否合法

Check().check2();是我们进行账户是否存在的验证操作

new UserMessage().write(message); 是将文件写入文本存储

但在此文章内 并不给出Check和UserMessage的具体写法, 我们将在这2个类书写完后讲解

先给出 开户类Register

JOptionPane.showMessageDialog(null, "信息有空缺,请补全!","消息提示",JOptionPane.WARNING_MESSAGE);

弹出一个对话框, 详情移步: 点击进入
或http://blog.csdn.net/changjiale110/article/details/78867779

package contentcl;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.IOException;import javax.swing.*;public class Register extends JFrame implements ActionListener{    JButton jb1, jb2;  //按钮    JLabel jlb1, jlb2, jlb3,jlb4,jlb5, jlb6;  //标签    JTextField jtf1,jtf2,jtf3,jtf4, jtf5;   //文本框    JPasswordField jpf; //密码框    JPanel jp1,jp2,jp3, jp4,jp5,jp6,jp7;        //面板    public Register() {        // TODO Auto-generated constructor stub        //按钮        jb1 = new JButton("确定");        jb2 = new JButton("重置");        //设置按钮监听        jb1.addActionListener(this);        jb2.addActionListener(this);        //标签信息        jlb1 = new JLabel("        姓名");        jlb2 = new JLabel("身份证号");        jlb3 = new JLabel("        账号");        jlb4 = new JLabel("        密码");        jlb6 = new JLabel("注册信息");        jlb5 = new JLabel("开户金额");        jlb6.setFont(new   java.awt.Font("Dialog",   1,   20));   //设置字体类型,加粗,大小为20        //文本信息        jtf1 = new JTextField(13);        jtf2 = new JTextField(13);        jtf3 = new JTextField(13);        jtf4 = new JTextField(13);        jtf5 = new JTextField(13);        jp1 = new JPanel();        jp2 = new JPanel();        jp3 = new JPanel();        jp4 = new JPanel();        jp5 = new JPanel();        jp6 = new JPanel();        jp7 = new JPanel();        //将对应信息加入面板中        jp1.add(jlb1);        jp1.add(jtf1);        jp2.add(jlb2);        jp2.add(jtf2);        jp3.add(jlb3);        jp3.add(jtf3);        jp4.add(jlb4);        jp4.add(jtf4);        jp5.add(jlb5);        jp5.add(jtf5);        jp6.add(jb1);        jp6.add(jb2);        jp7.add(jlb6);        //将JPane加入JFrame中          this.add(jp7);  //先加入提示语        this.add(jp1);          this.add(jp2);          this.add(jp3);         this.add(jp4);        this.add(jp5);        this.add(jp6);        //设置布局        this.setTitle("注册信息");        this.setLayout(new GridLayout(7, 1));        this.setSize(350, 350);   //设置窗体大小        this.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)          this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);  //设置仅关闭当前窗口        this.setVisible(true);  //设置可见        this.setResizable(false);   //设置不可拉伸大小    }    @Override    public void actionPerformed(ActionEvent e) {        // TODO Auto-generated method stub        if (e.getActionCommand()=="确定")        {            try {                register();            } catch (IOException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            }        }        else if (e.getActionCommand()=="重置")        {            clear();        }    }    //验证注册信息,并做处理    public void register() throws IOException    {        //判断信息是否补全        if (jtf1.getText().isEmpty()||jtf2.getText().isEmpty()||                jtf3.getText().isEmpty()||jtf4.getText().isEmpty()||jtf5.getText().isEmpty())        {            JOptionPane.showMessageDialog(null, "信息有空缺,请补全!","消息提示",JOptionPane.WARNING_MESSAGE);        }        //判断身份证号是否为18位        else if (jtf2.getText().length()!=18)        {            JOptionPane.showMessageDialog(null, "非法身份证号,请重新输入!","消息提示",JOptionPane.WARNING_MESSAGE);        }        //判断金额是否合法        else if (!new Check().checkmoney(jtf5.getText()))        {              JOptionPane.showMessageDialog(null, "存入金额不合法!","消息提示",JOptionPane.WARNING_MESSAGE);        }        else if (!jtf1.getText().isEmpty()&&!jtf2.getText().isEmpty()&&                !jtf3.getText().isEmpty()&&!jtf4.getText().isEmpty()&&!jtf5.getText().isEmpty())        {            //注册成功, 打包为信息数组传递给UserMessage进行更新操作            String []message = new String[5];             message[0] = jtf1.getText();   //获取输入的文本信息            message[1] = jtf2.getText();            message[2] = jtf3.getText();            message[3] = jtf4.getText();            message[4] = jtf5.getText();            if (!new Check().check2(message[2]))   //调用Check的check方法检测用户是否存在, 如果不存在执行            {                new UserMessage().write(message);   //调用UserMseeage的write方法进行写操作, 将信息格式化存入                JOptionPane.showMessageDialog(null,"注册成功!","提示消息",JOptionPane.WARNING_MESSAGE);                dispose();  //使窗口消失            }            else             {                JOptionPane.showMessageDialog(null,"账号已存在,请重新输入!","提示消息",JOptionPane.WARNING_MESSAGE);                //dispose();            }        }    }    //清空账号和密码框    private void clear() {        // TODO Auto-generated method stub        jtf1.setText("");    //设置为空        jtf2.setText("");          jtf3.setText("");          jtf4.setText("");          jtf5.setText("");      }}

给几个截图
这里写图片描述
这里写图片描述

下面是 挂失框

布局其实都类似 网格布局
确定键 跳转到 自写的ok()方法中 , 重置键调用clear方法 进行内容清空

挂失类中的信息验证和开户有所不同, 虽然都用Check.check2 验证了 是否存在

但是 我们在找回密码时 也要验证其 账户名与个人的信息如 身份证号和姓名 是否 与开户时相同 所以我们又在Check类 编写了 一个check3 的方法 而且该方法是有返回值的 , 我们返回找回密码

根据思路实现代码 这里与前面多了一个JTextArea(); 文本框 用来显示 返回的密码

code:

package contentcl;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextArea;import javax.swing.JTextField;/** *  * @author contentcl * @Date 2017年12月24日 下午6:52:47 * *此类是对挂失模块的编写,用户利用身份证号和姓名, 进行对户名下的账号进行找回密码操作 */public class ReportLose extends JFrame implements ActionListener{    JButton jb1, jb2, jb3;  //按钮    JPanel jp1,jp2,jp3, jp4;        //面板    JTextField jtf1,jtf2,jtf3,jtf4;   //文本框    JLabel jlb1, jlb2, jlb3; //标签    JTextArea jta;    public ReportLose()     {        // TODO Auto-generated constructor stub        jb1 = new JButton("确定");        jb2 = new JButton("重置");        //设置按钮监听        jb1.addActionListener(this);        jb2.addActionListener(this);        jp1 = new JPanel();  //创建面板        jp2 = new JPanel();        jp3 = new JPanel();        jp4 = new JPanel();        jlb1 = new JLabel("        姓名");  //添加标签        jlb2 = new JLabel("身份证号");        jlb3 = new JLabel("        账号");        jtf1 = new JTextField(13);  //创建文本框        jtf2 = new JTextField(13);        jtf3 = new JTextField(13);        //创建文本框         jta = new JTextArea();        //加入面板中        jp1.add(jlb1);        jp1.add(jtf1);        jp2.add(jlb2);        jp2.add(jtf2);        jp3.add(jlb3);        jp3.add(jtf3);        jp4.add(jb1);        jp4.add(jb2);       //设置布局        this.setTitle("找回密码");        this.setLayout(new GridLayout(6,1));        this.setSize(400, 350);         //this.setLocation(400, 200);        //将JPane加入JFrame中          this.add(jp1);          this.add(jp2);          this.add(jp3);          this.add(jp4);        this.add(jta);        this.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)          this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);  //设置仅关闭当前窗口        this.setVisible(true);  //设置可见        this.setResizable(false);   //设置不可拉伸大小    }    @Override    public void actionPerformed(ActionEvent e) {        // TODO Auto-generated method stub        if (e.getActionCommand()=="确定")        {            try {                ok();            } catch (HeadlessException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            } catch (IOException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            }        }        else if(e.getActionCommand()=="重置")          {               clear();          }    }    //    private void ok() throws HeadlessException, IOException {        // TODO Auto-generated method stub        //信息有空缺        if (jtf1.getText().isEmpty()||jtf2.getText().isEmpty()||                jtf3.getText().isEmpty())        {            JOptionPane.showMessageDialog(null, "信息有空缺,请补全!","消息提示",JOptionPane.WARNING_MESSAGE);        }        //判断身份证号是否为18位        else if (jtf2.getText().length()!=18)        {            JOptionPane.showMessageDialog(null, "非法身份证号,请重新输入!","消息提示",JOptionPane.WARNING_MESSAGE);        }        else        {            String []message = new String[3];             message[0] = jtf1.getText();            message[1] = jtf2.getText();            message[2] = jtf3.getText();            if (new Check().check2(message[2]))   //调用Check的check方法检测用户是否存在, 如果存在            {                String nowpwd = new Check().check3(message[0],message[1],message[2]);                if (nowpwd!=null)                {                    JOptionPane.showMessageDialog(null,"请点击确定查看!","提示消息",JOptionPane.WARNING_MESSAGE);                    jta.setText("您的密码为:"+nowpwd+"  ,请妥善保存!");                }                else                {                    JOptionPane.showMessageDialog(null,"用户信息和该账号不匹配,请核对!","提示消息",JOptionPane.WARNING_MESSAGE);                }            }            else             {                JOptionPane.showMessageDialog(null,"账号不存在,请核对账户信息!","提示消息",JOptionPane.WARNING_MESSAGE);                //dispose();            }        }    }    //清空账号和密码框    private void clear() {            // TODO Auto-generated method stub            jtf1.setText("");    //设置为空            jtf2.setText("");            jtf3.setText("");      }}

这里写图片描述

马上就到了 验证类 不要着急

阅读全文
'); })();
1 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 发现有人偷电怎么办 主机完全没反应怎么办 app审核被拒绝怎么办 win7登陆密码忘记了怎么办 婴儿衣服领子大怎么办 宝宝背心掉肩怎么办 孩子衣服领子大怎么办 陷入没钱的困境怎么办 生活陷入困境该怎么办 回复邮件晚了怎么办 iphonex关不了机怎么办 车险推迟买日期怎么办 试岗后不想去了怎么办 试岗期不想去了怎么办 汽车玻璃放不下来怎么办? 松下电视坏了怎么办 智能电视没信号怎么办 电视机排线坏了怎么办 京东便利店亏本怎么办 新手机想退货怎么办 买手机不能退款怎么办 产假期间要上班怎么办 win10系统盘坏了怎么办 腾达wifi隐藏了怎么办 交通信用卡锁了怎么办 工行信用卡锁了怎么办 pos商户号错误怎么办 吃荔枝上火头痛怎么办 血管搏动性耳鸣怎么办 wps表格不够用怎么办 快递短信漏发怎么办 pr不支持avi格式怎么办 短信发送不出怎么办? 接入支付宝失败怎么办 小米手机屏幕锁了怎么办 小米电视白屏怎么办 小米笔记本白屏怎么办 小米液晶电视白屏怎么办 车被剐蹭了跑了怎么办 被别人车剐蹭了怎么办 逆水寒任务失败怎么办