先上 流程图

这次编写开户界面和登录界面
其实 也没什么需要说的
制作 ,姓名,身份证号, 账户名, 密码 开户金额等信息
需要注意的是 身份证号为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);   //设置不可拉伸大小}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getActionCommand()=="确定"){try {register();} catch (IOException e1) {// TODO Auto-generated catch blocke1.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 stubjtf1.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 stubjb1 = 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,1this.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);   //设置不可拉伸大小}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getActionCommand()=="确定"){try {ok();} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IOException e1) {// TODO Auto-generated catch blocke1.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 stubjtf1.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小项目-银行管理系统(图形化界面)2-开户与挂失相关推荐

  1. vue3 项目创建(UI图形化界面方式,可视化操作Vue项目,vue ui)

    vue3 项目创建 (UI图形化界面方式,可视化操作Vue项目,vue ui) 目录 一.图形化界面方式搭建vue3 项目前提条件 1.检查node 和 @vue/cli 版本信息 2.升级你的 No ...

  2. Java 入门-02-人机交互-图形化界面的小故事

    人机交互的小故事 1981 年,IBM 和 wicrosoft 共同推出的 ms-dos 系统,在黑屏下面输入命令 1981 年 4 月 27 日,施乐公司推出了第一个有操作窗口的系统,引起了很大的轰 ...

  3. Java小项目-银行用户管理系统

    文章目录 前言 一. 功能 二. 代码 银行卡数据 转账流水数据 用户数据 BanksController UserController BanksDao RecordDao UserDao Bank ...

  4. java小项目---------银行新用户现金业务办理(运用数据库)

    银行新用户现金业务办理 1.任务描述     编写一个银行新用户现金业务办理程序,使其模拟新用户到银行办理现金存取业务时的场景.     要求此场景中,要模拟出银行对用户到来的欢迎动作.对用户离开的提 ...

  5. java反编译微信小程序_教你如何一键反编译获取任何微信小程序源代码(图形化界面,傻瓜式操作)...

    一键获取微信小程序源代码 1 Tips:2 一键获取微信小程序源码, 使用了C#加nodejs制作 直接解压在D盘根目录下后就可以使用 将小程序文件放到 wxapkg目录下 3 这个目录下有一些dem ...

  6. Java小项目超市管理系统(数组实现)

    ❤️项目图 输入幸运数字,幸运用户才可以登录超市管理系统 1.使用技术

  7. java小项目图书管理系统_Java小项目迷你图书管理系统

    package迷你图书管理系统;importjava.util.Scanner;public classBookMgr {public static voidmain(String[] args) { ...

  8. java计算器程序代码,图形化界面

    实现了加减乘除,平方立方开根号以及小数点运算,代码如下: package test1;import java.awt.*;import java.awt.event.WindowAdapter; im ...

  9. java计算器布局设计_Java图形化界面设计——布局管理器之GridLayout(网格布局) 之计算器...

    代码如下: import java.awt.*; import javax.swing.*; public class GridFrame extends JFrame { // 定义字符串数组,为按 ...

  10. java实现混合运算_java图形化界面实现简单混合运算计算器

    写了好几天了终于写完了这个四则运算计算器,总代码放在后面 截图如下: 首先是布局都比较简单,最上面的一个框是总的输出框, 第二个框是每次输入的数字显示在框内, 对于每一个按钮都增加监听器, 对于数字按 ...

最新文章

  1. 关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named ‘robot‘
  2. 对Extjs中store的多种操作
  3. 优信php笔试题_PHP应聘笔试题
  4. PyTorch学习(7)-Seq2Seq与 Attention
  5. 『线段树及扫描线算法 Atlantis』
  6. mysql 的 select into 带来的错误数据问题
  7. Xception: DeepLearning with Depthwise Separable Convolutions2017Google【论文理解】
  8. 读《微波工程(第三版)》笔记 (零:介绍)
  9. 微信开发之测试号申请
  10. 计算机怎么快捷截图桌面,屏幕截屏的快捷键是什么 6种电脑截图快捷键操作方法...
  11. 系统性能调优技术实战
  12. 使用Arctime生成各种格式的字幕文件
  13. 解决python运行selenium程序执行完后,Chrome浏览器自动关闭的问题
  14. RTL8372-CG/RTL8373-CG
  15. 60 个神级 VS Code 插件,助你打造最强编辑器
  16. MATLAB获取屏幕大小
  17. PHP正则表达式判断手机号码是否合法
  18. 第七天--HCIA第五章--OSPF+ACL
  19. stm32核心板可以点亮灯吗_2020年的Flag立了吗?学好EDA要算一个
  20. 11对战平台在wayos进程分线下下载地图慢的解决

热门文章

  1. 第18章 人口普查
  2. windows无法格式化u盘_U盘无法打开提示格式化?4种方法快速拯救它
  3. linux系统安装java环境_linux系统java环境配置
  4. 用Python给你的头像加口罩,加圣诞帽,加红心,加加加
  5. 利用Python系统性爬取微博评论
  6. WP全新COS美女写真网站整站源码+两套下载站模板
  7. 数字证书及 CA 的扫盲介绍
  8. 关于vs编译的程序无法正常启动(0xc0150002)的问题
  9. 摩托罗拉mpkg安装签名方法研究
  10. android手机 无线充电,无线充电手机有哪些?支持无线充电的手机推荐