java银行管理系统(GUI+IO)

1 篇文章 0 订阅

java GUI+IO银行管理系统

项目需求描述 网银系统管理平台,主要分为两大需求模块:

一、 用户功能需求:

  1. 对于用户需求需实现:注册与登陆功能。
    当用户成功注册于登录后需要展现并实现:首页 、个人信息显示、修改密码、充值、提现、转账等功能。
  2. 银行卡管理:又可以分为、查看银行卡、添加银行卡

二、管理用户:
  对于管理用户只需展现用户信息即可:

所用到的技术:
面向对象基本元素(如类,对象,继承,重载等等),GUI可视化设计,IO流读写为文
件,容器数组以及mvc分层思想。

  设计过程 首先给项目分层(利用MVC)思想:

  MVC开始是存在于桌面程序中的,M是指业务模型,
  						   V是指用户界面,
  						   C则是控制器,
使用MVC的目的是将MV的实现代码分离,从而使同一个程序可以使用不同的表现
形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保
MV的同步,一旦M改变,V应该同步更新。

创建以下6个层
在这里插入图片描述

  1. com.baizhi.entity 实体类层 放置实体类
  2. Com.baizhi.dao dao层 操作数据
  3. Com.baizhi.service 服务层 处理业务
  4. Com.baizhi.controller 控制层 控制操作
  5. Com.baizhi.view 视图层 展示信息
  6. 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.

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士汉堡 ིྀིྀ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值