JAVA小项目-银行管理系统(图形化界面)2-开户与挂失
2017-12-25 19:51
691 查看
先上 流程图
这次编写开户界面和登录界面
其实 也没什么需要说的
制作 ,姓名,身份证号, 账户名, 密码 开户金额等信息
需要注意的是 身份证号为18位, 并且开户金额必须大于0元
所以我们在事件监听时 要注意
由于 开户操作需要 进行 写入信息的处理, 我们们会验证Check 该账户是否合法或存在, 然后写入UserMessage, 在代码中调用的
new Check().checkmoney();//验证金额信息是否合法
Check().check2();是我们进行账户是否存在的验证操作
new UserMessage().write(message); 是将文件写入文本存储
弹出一个对话框, 详情移步: 点击进入
或http://blog.csdn.net/changjiale110/article/details/78867779
先给出 开户类Register
给几个截图
确定键 跳转到 自写的ok()方法中 , 重置键调用clear方法 进行内容清空
挂失类中的信息验证和开户有所不同, 虽然都用Check.check2 验证了 是否存在
但是 我们在找回密码时 也要验证其 账户名与个人的信息如 身份证号和姓名 是否 与开户时相同 所以我们又在Check类 编写了 一个check3 的方法 而且该方法是有返回值的 , 我们返回找回密码
根据思路实现代码 这里与前面多了一个JTextArea(); 文本框 用来显示 返回的密码
code:
马上就到了 验证类 不要着急
JAVA小项目-银行管理系统(图形化界面)1-菜单
http://blog.csdn.net/changjiale110/article/details/78880024
JAVA小项目-银行管理系统(图形化界面)2-开户与挂失
http://blog.csdn.net/changjiale110/article/details/78896168
JAVA小项目-银行管理系统(图形化界面)3-登录与查询
http://blog.csdn.net/changjiale110/article/details/78916391
JAVA小项目-银行管理系统(图形化界面)4-验证
http://blog.csdn.net/changjiale110/article/details/78916497
JAVA小项目-银行管理系统(图形化界面)5-用户信息读写
http://blog.csdn.net/changjiale110/article/details/78926473
JAVA小项目-银行管理系统(图形化界面)6-存款与取款
http://blog.csdn.net/changjiale110/article/details/78926600
JAVA小项目-银行管理系统(图形化界面)7-改密与转账
http://blog.csdn.net/changjiale110/article/details/78955018
整体项目演示+源码包
http://blog.csdn.net/changjiale110/article/details/78955353
这次编写开户界面和登录界面
其实 也没什么需要说的
制作 ,姓名,身份证号, 账户名, 密码 开户金额等信息
需要注意的是 身份证号为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个类书写完后讲解
JOptionPane.showMessageDialog(null, "信息有空缺,请补全!","消息提示",JOptionPane.WARNING_MESSAGE);
弹出一个对话框, 详情移步: 点击进入
或http://blog.csdn.net/changjiale110/article/details/78867779
先给出 开户类Register
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.*; /** * 此类完成对开户页面的编写, 用户需填写 姓名,身份证号, 账户,密码,开户金额信息 * * 并且会进行验证操作, 如姓名是否合法(中文), 身份证号是否合法等等 * @author contentcl * @Date 2017年12月27日 下午8:32:19 * */ 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 (!new Check().checkname(jtf1.getText())) { JOptionPane.showMessageDialog(null, "姓名不合法!","消息提示",JOptionPane.WARNING_MESSAGE); } //判断账户名和密码是否包含中文 else if (new Check().checkcountname(jtf3.getText())||new Check().checkcountname(jtf4.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)); //采用网格布局 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(""); } }
马上就到了 验证类 不要着急
JAVA小项目-银行管理系统(图形化界面)1-菜单
http://blog.csdn.net/changjiale110/article/details/78880024
JAVA小项目-银行管理系统(图形化界面)2-开户与挂失
http://blog.csdn.net/changjiale110/article/details/78896168
JAVA小项目-银行管理系统(图形化界面)3-登录与查询
http://blog.csdn.net/changjiale110/article/details/78916391
JAVA小项目-银行管理系统(图形化界面)4-验证
http://blog.csdn.net/changjiale110/article/details/78916497
JAVA小项目-银行管理系统(图形化界面)5-用户信息读写
http://blog.csdn.net/changjiale110/article/details/78926473
JAVA小项目-银行管理系统(图形化界面)6-存款与取款
http://blog.csdn.net/changjiale110/article/details/78926600
JAVA小项目-银行管理系统(图形化界面)7-改密与转账
http://blog.csdn.net/changjiale110/article/details/78955018
整体项目演示+源码包
http://blog.csdn.net/changjiale110/article/details/78955353
相关文章推荐
- JAVA小项目-银行管理系统(图形化界面)6-存款与取款
- JAVA小项目-银行管理系统(图形化界面)7-改密与转账
- JAVA小项目-银行管理系统(图形化界面)5-用户信息读写
- JAVA小项目-银行管理系统(图形化界面)1-菜单
- JAVA小项目-银行管理系统(图形化界面)4-验证
- JAVA小项目-银行管理系统(图形化界面)3-登录与查询
- JAVA小项目--银行管理系统
- JAVA小项目-银行管理系统(图形界面&&文件读写+源文件)
- 黑马程序员__JAVA项目分析__交通灯管理系统
- java张孝祥(7) 银行管理系统
- 黑马程序员——java面试中常遇到的面试项目——交通灯系统管理项目
- Java基础(十六)——项目实战——交通灯管理系统
- 2周修改了1000多个Bug后软件项目扭转了局面,未交付银行的现金管理系统健壮起来了
- Java图书管理系统-项目编写
- IT人必备:实用项目管理系列订餐系统实例化教学(Java版,10年IT经验总结,涉及测试
- 软件项目管理系统(RPMS)界面设计列表
- java交通灯管理系统项目
- java银行管理系统前三题
- 系统管理:RHEL6.3字符界面图形化界面切换
- 黑马程序员--JAVA交通灯管理系统项目