java GUI+IO银行管理系统
项目需求描述 网银系统管理平台,主要分为两大需求模块:
一、 用户功能需求:
- 对于用户需求需实现:注册与登陆功能。
当用户成功注册于登录后需要展现并实现:首页 、个人信息显示、修改密码、充值、提现、转账等功能。 - 银行卡管理:又可以分为、查看银行卡、添加银行卡
二、管理用户:
对于管理用户只需展现用户信息即可:
所用到的技术:
面向对象基本元素(如类,对象,继承,重载等等),GUI可视化设计,IO流读写为文
件,容器数组以及mvc分层思想。
设计过程 首先给项目分层(利用MVC)思想:
MVC开始是存在于桌面程序中的,M是指业务模型,
V是指用户界面,
C则是控制器,
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现
形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保
M和V的同步,一旦M改变,V应该同步更新。
创建以下6个层
- com.baizhi.entity 实体类层 放置实体类
- Com.baizhi.dao dao层 操作数据
- Com.baizhi.service 服务层 处理业务
- Com.baizhi.controller 控制层 控制操作
- Com.baizhi.view 视图层 展示信息
- Com.baizhi.test 测试
实体类创建:
用户类Users
/**用户类*/
public class Users implements Serializable {
private String tel;
private String pwd;
private String name;
private String relName;
private String cardNum;
private String email;
private double money;
// ALT+ INsert getterandSetter toString() constructor
public Users(String tel, String pwd, String name, String relName, String cardNum, String email, double money) {
this.tel = tel;
this.pwd = pwd;
this.name = name;
this.relName = relName;
this.cardNum = cardNum;
this.email = email;
this.money = money;
}
@Override
public String toString() {
return "Users{" +
"tel='" + tel + '\'' +
", pwd='" + pwd + '\'' +
", name='" + name + '\'' +
", relName='" + relName + '\'' +
", cardNum='" + cardNum + '\'' +
", email='" + email + '\'' +
", money=" + money +
'}';
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRelName() {
return relName;
}
public void setRelName(String relName) {
this.relName = relName;
}
public String getCardNum() {
return cardNum;
}
public void setCardNum(String cardNum) {
this.cardNum = cardNum;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
银行卡Banks:
/**银行卡*/
public class Banks implements Serializable {
private String bankNum;
private double money;
private String bankName;
private String tel;
@Override
public String toString() {
return "Banks{" +
"bankNum='" + bankNum + '\'' +
", money=" + money +
", bankName='" + bankName + '\'' +
", tel='" + tel + '\'' +
'}';
}
public String getBankNum() {
return bankNum;
}
public void setBankNum(String bankNum) {
this.bankNum = bankNum;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public Banks(String bankNum, double money, String bankName, String tel) {
this.bankNum = bankNum;
this.money = money;
this.bankName = bankName;
this.tel = tel;
}
}
管理员Admin:
/**管理员*/
public class Admin implements Serializable {//Serializable序列化接口
private String account;
private String pwd;
public Admin(String account, String pwd) {
this.account = account;
this.pwd = pwd;
}
@Override
public String toString() {
return "Admin{" +
"account='" + account + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
包与类的关系示意图(使用MVC思想):
完成基本功能
注册与登陆功能首页 :
注册:
首页个人信息显示、修改密码、充值、提现、转账等功能页面展示:
用户信息:
修改密码(完成之后会自动弹出登录页面):
添加银行卡:
显示银行卡:
充值:
提现:
转账:
管理用户代码实现:
public class ShowUserView extends JPanel {
private JPanel top,bom;
private JLabel telJL,pwdJL,nameJL,relNameJL,cardNumJL,emailJL,moneyJL;
private JTextField telJF,nameJF,relNameJF,cardNumJF,emailJF,moneyJF;
private JPasswordField pwdJF;
public ShowUserView(Users u){
this.setLayout(new BorderLayout());
top = new JPanel();
JLabel topJl = new JLabel("个人信息展示");
top.add(topJl);
this.add(top,BorderLayout.NORTH);
bom = new JPanel();
bom.setLayout(new GridLayout(7,2,10,10));
EmptyBorder jbo = new EmptyBorder(10,70,0,0);
EmptyBorder fbo = new EmptyBorder(18,0,0,-52);
telJL = new JLabel("手机号:",JLabel.CENTER);
telJL.setIcon(new ImageIcon("img/phone_icon.png"));
telJL.setBorder(jbo);
telJF = new JTextField(20);
telJF.setText(u.getTel());
telJF.setBorder(fbo);
bom.add(telJL);
bom.add(telJF);
pwdJL = new JLabel("密 码:",JLabel.CENTER);
pwdJL.setIcon(new ImageIcon("img/password_icon.png"));
pwdJL.setBorder(jbo);
pwdJF = new JPasswordField(20);
pwdJF.setText(u.getPwd());
pwdJF.setBorder(fbo);
bom.add(pwdJL);
bom.add(pwdJF);
nameJL = new JLabel("昵称:",JLabel.CENTER);
nameJL.setIcon(new ImageIcon("img/name_icon.png"));
nameJL.setBorder(jbo);
nameJF= new JTextField(20);
nameJF.setText(u.getPwd());
nameJF.setBorder(fbo);
bom.add(nameJL);
bom.add(nameJF);
relNameJL = new JLabel("真实姓名:",JLabel.CENTER);
relNameJL.setIcon(new ImageIcon("img/username_icon.png"));
relNameJL.setBorder(jbo);
relNameJF = new JTextField(20);
relNameJF.setText(u.getRelName());
relNameJF.setBorder(fbo);
bom.add(relNameJL);
bom.add(relNameJF);
cardNumJL = new JLabel("身份证:",JLabel.CENTER);
cardNumJL.setIcon(new ImageIcon("img/idc_icon.png"));
cardNumJL.setBorder(jbo);
cardNumJF = new JTextField(20);
cardNumJF.setText(u.getCardNum());
cardNumJF.setBorder(fbo);
bom.add(cardNumJL);
bom.add(cardNumJF);
emailJL = new JLabel("邮箱:",JLabel.CENTER);
emailJL.setIcon(new ImageIcon("img/msg_icon.png"));
emailJL.setBorder(jbo);
emailJF = new JTextField(20);
emailJF.setText(u.getEmail());
emailJF.setBorder(fbo);
bom.add(emailJL);
bom.add(emailJF);
moneyJL = new JLabel("余额:",JLabel.CENTER);
moneyJL.setIcon(new ImageIcon("img/dialog_ok_icon.png"));
moneyJL.setBorder(jbo);
moneyJF = new JTextField(20);
String money = String.valueOf(u.getMoney());
moneyJF.setText(money);
moneyJF.setBorder(fbo);
bom.add(moneyJL);
bom.add(moneyJF);
this.add(bom,BorderLayout.CENTER);
}
}
完整代码请联系q:3232691860.