Java实训项目——网银管理系统(2021大一下)

Java模拟银行业务系统 package com.xu_six; import java.io.Serializable; /** * 用户类 * @author XuSir *2021年3月27日上午10:01:16 */ public class User implements Serializable{ /** * */ private static final long serialVersionUID = 1L; // 用户的属性;必须私有化 private String userName; // 阅读详情


前言

用到了IO流,集合和JavaSwing的实训小项目


一、内容介绍

基本内容有:

  1. 登陆

  2. 注册

  3. 首页

  4. 个人信息显示

  5. 修改密码

  6. 添加银行卡

  7. 银行卡查看

  8. 充值

  9. 提现

  10. 转账

  11. 用户管理

主要用到的知识如下:

集合知识:用到List集合,来运输暂存数据 。
接口:创建了BankController接口和UserController接口方便方法的调用和创建,分别用BankControllerimpl和UserControllerimpl类实现了它们。
创建实体类:实用了创建方法的快捷方式。
IO流:运用对象流的序列化和反序列化,将集合多次存入取出文件,方便数据更新的同时,能有效的保存用户和银行卡的信息。实现的此代码的类有AdminDao,BanksDao,UserDao。
JavaSwing:把GUI组件合理的搭配和设计,添加到底层容器中,展现到窗口中,然后添加监听器,处理事件,完成每个界面的功能。此部分技术的运用都在com.baizhi.view包中

二、实现原理

​

登录页面

首先设计的是登录页面,设置了手机号和密码两个可填项,同时设置两个按钮并且对其设置监听器,点击等录能够进入主页面,点击注册则跳转注册页面。
在这里插入图片描述

注册页面

注册页面设置了一些用户的属性,没有格式要求,填写完整即可点击提交,把数据通过AdminDao对象流存入文件Admin.data,注册完成自动关闭页面,再次登录就可以使用该账号登录,点击取消关闭页面。
在这里插入图片描述

首页

主页面包含左侧导航栏功能列表,显示功能,而功能这可以在界面中间部分展示出来,点击首页,返回首页,对应的界面是MainView。
在这里插入图片描述

用户信息

有用户的信息展示,包括金额,修改金额后此处的金额也会随之变动,文字的前面都有图片标签。此页面的类为ShowUserView。

在这里插入图片描述

修改密码

此功能是给登录的用户从新设置密码,通过UserDao类,获取所有用户,然后通过list集合存取用户,通过对list的遍历筛选,得到本用户的密码,然后调用setPwd对用户密码进行修改。
在这里插入图片描述

添加银行卡

与注册用户相似,也是把得到的银行卡信息存到list中,如果已有银行卡,则先把以前银行卡的内容存到list中,然后再把新增的信息存入,这样就可以一次性存完,不用再考虑信息存入文件的内容覆盖的问题了。点击提交,存入数据。此页面的类为AddBanksView。

在这里插入图片描述

银行卡查看

在此页面可以观察到此账户拥有的银行卡的信息,同样是通过BankDao获取此手机号拥有的银行卡信息list集合,然后通过遍历打印出来。此类的为ShowBanksView。
在这里插入图片描述

充值

充值是从银行卡充钱到账户上,实现金额交换,将文本框获取的mony属性通过构造方法传入BanksServiceImpl类,完成后端的文件中的集合,然后通过遍历寻找,修改,然后点击充值,便会实现金额交换。此类为AddUsersMoneyView。
在这里插入图片描述

提现

提现就是把账户上的钱提到银行卡上。
提现和充值相同,把二者的方法,交换重写一遍就可以实现次功能。此类为AddBanksMoneyView。

在这里插入图片描述

银行卡转账

首先要选择转入转出的对象是银行卡还是账户,然后分别输入银行卡或是账户的卡号和手机号,然后遍历所给的号是否存在,不存在会有弹框提示
确定存在后,会对转出和转入方两个方法同时调用。实现金钱交换。
此类为MoveMoneyView。
在这里插入图片描述

用户管理

在这里可以显示注册过的所有用户,与银行卡查看同理,都是先得到所有用户信息的list,然后遍历打印出来。此类为ShowUserView。
在这里插入图片描述

​

代码展示

在这里插入图片描述

BanksController

package com.baizhi.controller;

import com.baizhi.entity.Banks;
import com.baizhi.service.BanksService;
import com.baizhi.service.impl.BanksServiceImpl;

import java.util.List;

public class BanksController {
    private BanksServiceImpl service =new BanksServiceImpl();
    public boolean addBanks(Banks banks){
        return service.addBanks(banks);
    }
    public List<Banks> showBanksByTel(String tel){
        return service.showBanksByTel(tel);
    }
    public boolean deleteMoney(String banksNum,double money){
        return service.deleteMoney(banksNum,money);
    }
    public boolean addMoney(String banksNum,double money){
        return service.addMoney(banksNum,money);
    }
    public boolean moveMoney(String banksNum1,String banksNum2,double money){
        return  service.moveMoney(banksNum1,banksNum2,money);
    }


    public boolean chickNUm( String num) {
        return  service.chickNUm(num);
    }
}

UserController

package com.baizhi.controller;

import com.baizhi.entity.Banks;
import com.baizhi.entity.User;
import com.baizhi.service.UserService;
import com.baizhi.service.impl.UsersServiceImpl;

import java.util.List;

// 用户管理
public class UserController {
    private UserService userService =new UsersServiceImpl();
    public User userLog(String tel,String pwd) {

        return userService.findUSerByTelAdnpwd(tel,pwd);
    }
//    注册
//String name, String cardNum, String tel, String pwd, String email, double money, String relName
    public boolean addUser(String name, String cardNum, String tel, String pwd, String email, String relName){
        User u =new User(name,cardNum,tel,pwd,email,0,relName);
        return userService.addUsers(u);
    }

    public boolean isExistTel(String tel) {
        return userService.isExistTel(tel);
    }
    public boolean isExistEmail(String email){
        return userService.isExistEmail(email);
    }


    public boolean updatePwd(String tel,String odlPwd,String pwd){
        return userService.updatePwd(tel,pwd);
    }
    public boolean addMoney(String tel,double money){

        return userService.addMoney(tel,money);
    }
    public boolean deleteMoney(String tel,double money){
        return userService.deleteMoney(tel,money);
    }
    public List<User> showUserTel(String tel){
        return userService.showUserTel(tel);
    }
    public List<User> showUser(){
        return userService.showUser();
    }

    public boolean chickNUm(String num) {
        return userService.chickNUm(num);}
}

AdminDao

package com.baizhi.dao;
import com.baizhi.entity.Admin;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

public class AdminDao {
    public List<Admin> read(){
        List<Admin> list =new ArrayList<>();
        try{

            ObjectInputStream IS=new ObjectInputStream(new FileInputStream("admin.data"));
            list = (List<Admin>) IS.readObject();
            IS.close();
        }catch (Exception e){
            e.printStackTrace();

        }
        return list;
    }

    public boolean write(List<Admin> list){
        try {
            ObjectOutputStream OS = new ObjectOutputStream(new FileOutputStream("admin.data"));
            OS.writeObject(list);
            OS.close();
            return true;
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("写入失败");
            return false;
        }
    }

    public static void main(String[] args) {
        List<Admin> list =new ArrayList<>();
        list.add(new Admin("admin","123"));
        AdminDao dao =new AdminDao();
        dao.write(list);
        List<Admin> lists =dao.read();
        for (Admin ad : lists){
            System.out.println(ad);
        }
    }
}

BanksDao

package com.baizhi.dao;

import com.baizhi.entity.Banks;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

public class BanksDao {
    public List<Banks> read(){
        List<Banks> list =new ArrayList<>();
        try {
            FileInputStream file =new FileInputStream("Banks.data");
            ObjectInputStream IS =new ObjectInputStream(file);
            list = (List<Banks>) IS.readObject();
            IS.close();
        }catch (Exception e){
            e.printStackTrace();
        }
        return list;
    }
    public boolean write(List<Banks> list){
        try {
            FileOutputStream file=new FileOutputStream("Banks.data");
            ObjectOutputStream OS =new ObjectOutputStream(file);
            OS.writeObject(list);
            OS.close();
            return true;
        }catch (Exception e){
            e.printStackTrace();
            return false;
        }

    }

}

UserDao

package com.baizhi.dao;

import com.baizhi.entity.Admin;
import com.baizhi.entity.User;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

public class UserDao {
    public List<User> read(){
        List<User> list =new ArrayList<>();
        try{
            ObjectInputStream IS=new ObjectInputStream(new FileInputStream("User.data"));
            list = (List<User>) IS.readObject();
            IS.close();
        }catch (Exception e){
            e.printStackTrace();

        }
        return list;
    }
    public boolean write(List<User> list){
     try {
        ObjectOutputStream OS = new ObjectOutputStream(new FileOutputStream("User.data"));
        OS.writeObject(list);
        OS.close();
        return true;
    }catch (Exception e){
        e.printStackTrace();
        System.out.println("写入失败");
        return false;
    }
}


}

Admin

package com.baizhi.entity;

import java.io.Serializable;

public class Admin  implements Serializable {
    private String account;
    private String pwd;

    public Admin(String account, String pwd) {
        this.account = account;
        this.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;
    }

    @Override
    public String toString() {
        return "Admin{" +
                "account='" + account + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

Banks

package com.baizhi.entity;

import javax.swing.*;
import java.io.Serializable;

public class Banks implements Serializable {
    private String bankNumber;
    private double money;
    private String bankName;
    private String tel;

    public Banks(String bankNumber, double money, String bankName, String tel) {
        this.bankNumber = bankNumber;
        this.money = money;
        this.bankName = bankName;
        this.tel = tel;
    }

    public String getBankNumber() {
        return bankNumber;
    }

    public void setBankNumber(String bankNumber) {
        this.bankNumber = bankNumber;
    }

    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;
    }

    @Override
    public String toString() {
        return "Banks{" +
                "bankNumber='" + bankNumber + '\'' +
                ", money=" + money +
                ", bankName='" + bankName + '\'' +
                ", tel='" + tel + '\'' +
                '}';
    }
}

User

package com.baizhi.entity;

import java.io.Serializable;

public class User implements Serializable {
    private String name;
    private String cardNum;
    private String tel;
    private String pwd;
    private String email;
    private double money;
    private String relName;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCardNum() {
        return cardNum;
    }

    public void setCardNum(String cardNum) {
        this.cardNum = cardNum;
    }

    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 getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

    public String getRelName() {
        return relName;
    }

    public void setRelName(String relName) {
        this.relName = relName;
    }

    public User(String name, String cardNum, String tel, String pwd, String email, double money, String relName) {
        this.name = name;
        this.cardNum = cardNum;
        this.tel = tel;
        this.pwd = pwd;
        this.email = email;
        this.money = money;
        this.relName = relName;
    }

    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", cardNum='" + cardNum + '\'' +
                ", tel='" + tel + '\'' +
                ", pwd='" + pwd + '\'' +
                ", email='" + email + '\'' +
                ", money=" + money +
                ", relName='" + relName + '\'' +
                '}';
    }
}

BanksServiceImpl

package com.baizhi.service.impl;

import com.baizhi.dao.BanksDao;
import com.baizhi.entity.Banks;
import com.baizhi.entity.User;
import com.baizhi.service.BanksService;

import java.util.ArrayList;
import java.util.List;

public class BanksServiceImpl implements BanksService {
    private BanksDao dao =new BanksDao();
    private  List<Banks> list;
    @Override
    public boolean addBanks(Banks banks) {
         list =new ArrayList<>();
         list= dao.read();
         list.add(banks);
        return dao.write(list);
    }

    @Override
    public List<Banks> showBanksByTel(String tel) {
        List<Banks> list=dao.read();
        List<Banks> uList=new ArrayList<>();
        for (Banks b:list){
            if (b.getTel().equals(tel)) {
                uList.add(b);
            }

        }
        return uList;
    }

    @Override
    public boolean deleteMoney(String banksNum, double money) {
        List<Banks> list=dao.read();
        for (Banks b:list){
            System.out.println("长度"+list.size());
                if (banksNum.equals(b.getBankNumber())){
                    double mo =b.getMoney();
                    if (mo-money<0){
                        return false;
                    }else {
                        b.setMoney(mo-money);
                        System.out.println("银行卡减后"+b.getMoney());
                    }
                }
            }
        return dao.write(list);
        }

    @Override
    public boolean moveMoney(String banksNum1, String banksNum2, double money) {
        List<Banks> list =dao.read();
        //System.out.println("出账户"+banksNum1+",入账户"+banksNum2);
        for (Banks b: list) {


            if (b.getBankNumber().equals(banksNum1) ) {
                if (b.getMoney()-money>=0)
                b.setMoney(b.getMoney() - money);
                else return false;
            }
        }
            for (Banks b:list){
            if (b.getBankNumber().equals(banksNum2)){
                b.setMoney(b.getMoney()+money);
            }

        }
        return dao.write(list);
    }

    @Override
    public boolean chickNUm(String num) {
        List<Banks> list =dao.read();
        for (Banks b:list){
             if (b.getBankNumber().equals(num)){
                 return true;
             }
        }
        return false;
    }

    public boolean addMoney(String banksNum, double money) {
        List<Banks> list =dao.read();
        for (Banks b:list){
            if (b.getBankNumber().equals(banksNum)){
                System.out.printf("银行余额(+):"+b.getMoney());
                b.setMoney(b.getMoney()+money);
            }
        }
        return dao.write(list);
    }
}

UsersServiceImpl

package com.baizhi.service.impl;

import com.baizhi.dao.UserDao;
import com.baizhi.entity.Banks;
import com.baizhi.entity.User;
import com.baizhi.service.UserService;
import org.w3c.dom.ls.LSInput;

import java.util.ArrayList;
import java.util.List;

public class UsersServiceImpl implements UserService {

    private UserDao dao =new UserDao();

    @Override
    public User findUSerByTelAdnpwd(String tel, String pwd) {
        List<User> list =dao.read();
        for (User U:list){
            if(U.getTel().equals(tel)&&U.getPwd().equals(pwd)){
                System.out.println("登录成功!");
                return U;
            }
        }
        return null;
    }

    @Override
    public boolean addUsers(User user) {
        List<User> list =dao.read();
        list.add(user);
        return dao.write(list);
    }

    @Override
    public boolean isExistTel(String tel) {
        List<User> list =dao.read();
        for(User u:list){
            if(u.getTel().equals(tel)){
                return true;
            }
        }
        return false;
    }

    @Override
    public boolean isExistEmail(String email) {
        List<User> list =dao.read();
        for (User u:list){
            if(u.getEmail().equals(email)){
                return true;
            }
        }
        return false;
    }

    @Override
    public boolean updatePwd(String tel, String pwd) {
        List<User> list =dao.read();
        for (User user: list){
            String uTel = user.getTel();
            if ((uTel).equals(tel)){
                user.setPwd(pwd);
                break;
            }
        }
        return dao.write(list);
    }

    @Override
    public boolean addMoney(String tel, double money) {
        List<User> list =dao.read();
        for (User user:list){
            if (user.getTel().equals(tel)){
                user.setMoney(user.getMoney()+money);
                System.out.println(user.getMoney());
            }
        }

        return dao.write(list);
    }

    public boolean deleteMoney(String tel, double money) {

        List<User> list=dao.read();

        for (User user:list){
            if (tel.equals(user.getTel())){

                double mo =user.getMoney();
                if (mo-money<0){
                    return false;
                }else {
                    System.out.println(user.getMoney());
                    user.setMoney(mo-money);
                    System.out.println(user.getMoney());

                }
            }

        }


        return dao.write(list);
    }

    @Override
    public List<User> showUserTel(String tel) {
        return null;
    }

    @Override
    public List<User> showUser() {
        List<User> list=dao.read();
        return list;
    }

    @Override
    public boolean chickNUm(String num) {
        List<User>list=dao.read();
        for (User user:list){
           if (user.getTel().equals(num)){
               return true;
           }
        }
        return false;
    }


    public List<User> showUserTel() {
        List<User> list=dao.read();
        List<User> uList=new ArrayList<>();

        return uList;
    }

}

BanksService接口

package com.baizhi.service;

import com.baizhi.entity.Banks;

import java.util.List;

public interface BanksService {
    public boolean addBanks(Banks banks);
    public List<Banks> showBanksByTel(String tel);
    public boolean deleteMoney(String banksNum,double money);
    boolean moveMoney(String banksNum1, String banksNum2, double money);
    boolean chickNUm(String num);
}

UserService接口

package com.baizhi.service;

import com.baizhi.entity.Banks;
import com.baizhi.entity.User;

import java.util.List;

public interface UserService  {

    public User findUSerByTelAdnpwd(String tel,String pwd);
    public boolean addUsers(User user);
    public boolean isExistTel(String tel);
    public boolean isExistEmail(String email);

    public boolean updatePwd(String tel,String pwd);

    public boolean addMoney(String tel,double money);

    boolean deleteMoney(String tel, double money);
    public List<User> showUserTel(String tel);
    public List<User> showUser();
    boolean chickNUm(String num);
}

AppStar测试类

package com.baizhi.test;

import com.baizhi.view.UserLoginView;

public class AppStar {
    public static void main(String[] args) {
        UserLoginView u =new UserLoginView();
    }
}

AddBanksMoneyView

package com.baizhi.view;

import com.baizhi.controller.BanksController;
import com.baizhi.controller.UserController;
import com.baizhi.entity.Banks;
import com.baizhi.entity.User;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;

public class AddBanksMoneyView extends JPanel implements MouseListener {

    private JPanel top,bom;
    private JLabel moneyJL,banksNumJL;
    private JTextField moneyJF;
    private JComboBox banksNumJB;
    private JButton sub;
    private User user;
    public AddBanksMoneyView(User user, List<Banks> list){

        this.user=user;
        this.setLayout(new BorderLayout());
        top =new JPanel();
        top.setLayout(new GridLayout(2,2,20,20));

        moneyJL=new JLabel("请输入提现金额:",JLabel.CENTER);
        moneyJF=new JTextField(20);
        top.add(moneyJL);
        top.add(moneyJF);

        banksNumJL =new JLabel("请选择提现银行卡号",JLabel.CENTER);
        banksNumJB =new JComboBox();
        banksNumJB.addItem("---请选择---");
        for (Banks b: list){
            banksNumJB.addItem(b.getBankNumber());
        }
        top.add(banksNumJL);
        top.add(banksNumJB);
        this.add(top,BorderLayout.CENTER);

        bom =new JPanel();
        sub =new JButton("提现");
        sub.addMouseListener(this);
        bom.add(sub);
        this.add(bom,BorderLayout.SOUTH);

    }


    @Override
    public void mouseClicked(MouseEvent e) {
        String moneys=moneyJF.getText();
        String banksNum=banksNumJB.getSelectedItem().toString();
       // System.out.println("这是卡号"+banksNum+",提现"+);
        if (moneys.equals("")){
            JOptionPane.showMessageDialog(null,"金额不能为空!");
            return;
        }
        else if("---请选择---".equals(banksNum)){
            JOptionPane.showMessageDialog(null,"请选择银行卡!");
            return;
        }

        try {
            double money = Double.parseDouble(moneys);
            if (money <= 0) {
                JOptionPane.showMessageDialog(null, "充值金额要大于0!");
                return;
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "请输入数字!");
            return;
        }

        double money =Double.parseDouble(moneys);
        BanksController banksController =new BanksController();
        UserController userController=new UserController();
        boolean flag= userController.deleteMoney(user.getTel(), money);
        if(flag){
            banksController.addMoney(banksNum,money);
            JOptionPane.showMessageDialog(null,"提现成功");
            return;
        }else {
            JOptionPane.showMessageDialog(null,"账户余额不足,提现失败!");
            return;
        }
    }
    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

AddBanksView

package com.baizhi.view;

import com.baizhi.controller.BanksController;
import com.baizhi.dao.BanksDao;
import com.baizhi.entity.Banks;
import com.baizhi.entity.User;
import jdk.nashorn.internal.scripts.JO;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class AddBanksView extends JPanel implements MouseListener {
    private User user;
    private JPanel top,bom;
    private JLabel bankNumJL, moneyJL, bankNameJL;
    private JTextField bankNumJF,moneyJF,bankNameJF;
    private JButton sub;
    public AddBanksView(User user){
        this.user=user;
        this.setLayout(new BorderLayout());
        top=new JPanel();
        top.setLayout(new GridLayout(3,2,20,20));

        bankNumJL =new JLabel("卡号:",JLabel.CENTER);
        bankNumJF=new JTextField(20);
        top.add(bankNumJL);
        top.add(bankNumJF);

        bankNameJL =new JLabel("开户行",JLabel.CENTER);
        bankNameJF=new JTextField(20);
        top.add(bankNameJL);
        top.add(bankNameJF);

        moneyJL=new JLabel("余额",JLabel.CENTER);
        moneyJF=new JTextField(20);
        top.add(moneyJL);
        top.add(moneyJF);
        this.add(top,BorderLayout.CENTER);
        bom=new JPanel();
        sub =new JButton("提交");
        sub.setName("sub");
        sub.addMouseListener(this);
        bom.add(sub);
        this.add(bom,BorderLayout.SOUTH);

    }

    @Override
    public void mouseClicked(MouseEvent e) {
        String bankNum=bankNumJF.getText();
        String money =moneyJF.getText();
        //double bankName =Double.parseDouble(bankNumJF.getText());
        String bankName=bankNameJF.getText();
        if (bankNum.equals("")){
            JOptionPane.showMessageDialog(null,"卡号不能为空");
            bankNameJF.setText("");
            bankNumJF.setText("");
            moneyJF.setText("");
        }
        if (money.equals("")){
            JOptionPane.showMessageDialog(null,"余额不能为空");
            bankNameJF.setText("");
            bankNumJF.setText("");
            moneyJF.setText("");
        }
        if (bankName.equals("")){
            JOptionPane.showMessageDialog(null,"开户行不能为空");
            bankNameJF.setText("");
            bankNumJF.setText("");
            moneyJF.setText("");
        }

        double mo=Double.parseDouble(money);
        BanksController b =new BanksController();
        Banks banks =new Banks(bankNum,mo,bankName,user.getTel());
        boolean flag =b.addBanks(banks);
        if (flag){
            JOptionPane.showMessageDialog(null,"添加成功!");
            bankNameJF.setText("");
            bankNumJF.setText("");
            moneyJF.setText("");
        }else {
            JOptionPane.showMessageDialog(null,"添加失败!");
            bankNameJF.setText("");
            bankNumJF.setText("");
            moneyJF.setText("");
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

AddUsersMoneyView

package com.baizhi.view;

import com.baizhi.controller.BanksController;
import com.baizhi.controller.UserController;
import com.baizhi.entity.Banks;
import com.baizhi.entity.User;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;

public class AddUsersMoneyView extends JPanel implements MouseListener {
    private JPanel top,bom;
    private JLabel moneyJL,banksNumJL;
    private JTextField moneyJF;
    private JComboBox banksNumJB;
    private JButton sub;
    private User user;
    public AddUsersMoneyView(User user, List<Banks> list){

         this.user=user;
         this.setLayout(new BorderLayout());
         top =new JPanel();
         top.setLayout(new GridLayout(2,2,20,20));

         moneyJL=new JLabel("请输入充值金额:",JLabel.CENTER);
         moneyJF=new JTextField(20);
         top.add(moneyJL);
         top.add(moneyJF);

         banksNumJL =new JLabel("请选择充值账户",JLabel.CENTER);
            banksNumJB =new JComboBox();
            banksNumJB.addItem("---请选择---");
            for (Banks b: list){
                banksNumJB.addItem(b.getBankNumber());
            }
            top.add(banksNumJL);
            top.add(banksNumJB);
            this.add(top,BorderLayout.CENTER);

            bom =new JPanel();
            sub =new JButton("充值");
            sub.addMouseListener(this);
            bom.add(sub);
            this.add(bom,BorderLayout.SOUTH);

    }



    @Override
    public void mouseClicked(MouseEvent e) {
        String moneys=moneyJF.getText();
        String banksNum=banksNumJB.getSelectedItem().toString();
        if (moneys.equals("")){
            JOptionPane.showMessageDialog(null,"金额不能为空!");
            return;
        }

        else if("---请选择---".equals(banksNum)){
            JOptionPane.showMessageDialog(null,"请选择银行卡!");
            return;
        }

            try {
                double money = Double.parseDouble(moneys);
                if (money <= 0) {
                    JOptionPane.showMessageDialog(null, "充值金额要大于0!");
                    return;
                }
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(null, "请输入数字!");
                return;
            }

        double money =Double.parseDouble(moneys);
        BanksController banksController =new BanksController();
        UserController userController=new UserController();
        boolean flag=banksController.deleteMoney(banksNum,money);
        if(flag){
                    userController.addMoney(user.getTel(), money);
                    JOptionPane.showMessageDialog(null,"充值成功");
                    return;
        }else {
            JOptionPane.showMessageDialog(null,"银行卡余额不足,请更换银行卡!");
            return;
        }
    }
    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

AddUserView

package com.baizhi.view;

import com.baizhi.controller.UserController;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class AddUserView extends Dialog implements MouseListener {
    private JPanel jp;
    private JLabel telJL,pwdJL,nameJL,relnameJL,cardNumJL,emailJL;
    private JTextField telJF,nameJF,relnameJF,cardNumJF,emailJF;
    private JPasswordField pwdJF;
    private JButton sub,clo;

    public AddUserView (Frame owner){
        super(owner);
        jp= new JPanel();
        jp.setBackground(Color.pink);
        jp.setBorder(new EmptyBorder(20,20,20,20));
        jp.setLayout(new GridLayout(10,2,20,20));
        EmptyBorder job =new EmptyBorder(0,20,0,0);
        EmptyBorder fbo =new EmptyBorder(0,0,0,0);
        telJL =new JLabel("手机号",JLabel.LEFT);
        telJL .setIcon(new ImageIcon("img/phone_icon.png"));
        telJL.setBorder(job);
        telJF =new JTextField(20);
        telJF.setBorder(fbo);
        jp.add(telJL);
        jp.add(telJF);

        pwdJL =new JLabel("密码",JLabel.LEFT);
        pwdJL .setIcon(new ImageIcon("img/password_icon.png"));
        pwdJL.setBorder(job);
        pwdJF = new JPasswordField(20);
        pwdJF.setBorder(fbo);
        jp.add(pwdJL);
        jp.add(pwdJF);

       nameJL =new JLabel("昵称",JLabel.LEFT);
        nameJL .setIcon(new ImageIcon("img/name_icon.png"));
        nameJL.setBorder(job);
        nameJF =new JTextField(20);
        nameJF.setBorder(fbo);
        jp.add(nameJL);
        jp.add(nameJF);

        relnameJL =new JLabel("真实姓名",JLabel.LEFT);
        relnameJL .setIcon(new ImageIcon("img/username_icon.png"));
        relnameJL.setBorder(job);
        relnameJF =new JTextField(20);
        relnameJF.setBorder(fbo);
        jp.add(relnameJL);
        jp.add(relnameJF);

        cardNumJL =new JLabel("身份证号",JLabel.LEFT);
        cardNumJL .setIcon(new ImageIcon("img/idc_icon.png"));
        cardNumJL.setBorder(job);
        cardNumJF =new JTextField(20);
        cardNumJF.setBorder(fbo);
        jp.add(cardNumJL);
        jp.add(cardNumJF);

        emailJL =new JLabel("邮箱",JLabel.LEFT);
        emailJL .setIcon(new ImageIcon("img/msg_icon.png"));
        emailJL.setBorder(job);
        emailJF =new JTextField(20);
        emailJF.setBorder(fbo);
        jp.add(emailJL);
        jp.add(emailJF);

        sub =new JButton("提交");
        sub.setName("sub");
        sub.addMouseListener(this);
        jp.add(sub);
        clo=new JButton("取消");
        clo.setName("clo");
        clo.addMouseListener(this);
        jp.add(clo);
        this.add(jp);


        this.setSize(400,500);
        this.setIconImage(new ImageIcon("img/tubiao_qiaozhi.jpg").getImage());
        this.setLocationRelativeTo(null);  //居中
        this.setVisible(true);
        this.setTitle("百知转账管理系统-->用户注册");
        this.setResizable(false);
       // super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    @Override
    public void mouseClicked(MouseEvent e) {
        String str = e.getComponent().getName();
        switch (str) {
            case "sub":
//                String name, String cardNum, String tel, String pwd, String email, double money, String relName
                String tel =telJF.getText();
                String pwd= new String(pwdJF.getPassword());
                String name=nameJF.getText();
                String relName=cardNumJF.getText();
                String cardNUm=cardNumJF.getText();
                String email=emailJF.getText();
                if (tel.equals("")){
                    JOptionPane.showMessageDialog(null,"手机号不能为空!");
                    break;
                }
                else if (pwd.equals("")){
                    JOptionPane.showMessageDialog(null,"密码不能为空!");
                    break;
                }
                else if (name.equals("")){
                    JOptionPane.showMessageDialog(null,"昵称不能为空!");
                    break;
                }
                else if (relName.equals("")){
                    JOptionPane.showMessageDialog(null,"真实姓名不能为空!");
                    break;
                }
                else if (cardNUm.equals("")){
                    JOptionPane.showMessageDialog(null,"身份证号不能为空!");
                    break;
                }
                else if (email.equals("")){
                    JOptionPane.showMessageDialog(null,"邮箱不能为空!");
                    break;
                }
                UserController con =new UserController();
                if (con.isExistEmail(tel)){

                    JOptionPane.showMessageDialog(null,"手机号已被注册");
                    break;
                }
                else if (con.isExistEmail(email)){

                    JOptionPane.showMessageDialog(null,"邮箱已被注册");
                    break;
                }
                else if (con.isExistEmail(cardNUm)){

                    JOptionPane.showMessageDialog(null,"身份证号被注册");
                    break;
                }

                boolean flag =con.addUser(tel,pwd,name,relName,cardNUm,email);
                if (flag){
                    JOptionPane.showMessageDialog(null,"注册成功!");
                    dispose();
                }else {
                    JOptionPane.showMessageDialog(null,"注册失败!");
                }

                break;
            case "clo":
                dispose();
                break;
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

MainView

package com.baizhi.view;

import com.baizhi.controller.BanksController;
import com.baizhi.controller.UserController;
import com.baizhi.entity.Banks;
import com.baizhi.entity.User;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;

public class MainView extends JFrame implements MouseListener {
    private User user;

    private  JPanel jpJP,topJP,leftJP,conJP,indexJP;
    private  JLabel logoJL,welJL,indexJL;
    private JButton indexJB,showUserJB,pwdJB,banksJB,addMoneyJB,deleteMoneyJB,moveMoneyJB,updateUserJB,addBanksJB;


    public MainView(User user){

        jpJP=new JPanel();
        jpJP.setLayout(new BorderLayout());

        topJP =new JPanel();
        logoJL=new JLabel();
        //logoJL.setIcon(new ImageIcon("img/logo.png"));
        ImageIcon lo =new ImageIcon("img/logo.png");
        lo.setImage(lo.getImage().getScaledInstance(120,30,Image.SCALE_DEFAULT));
        logoJL.setIcon(lo);
        welJL=new JLabel("欢迎用户:"+user.getName());
        topJP.add(welJL);
        topJP.add(logoJL);
        jpJP.add(topJP,BorderLayout.NORTH);
        //左侧导航
        leftJP=new JPanel();
        leftJP.setLayout(new GridLayout(10,1,20,7));
        EmptyBorder jb =new EmptyBorder(20,15,10,20);
        indexJB =new JButton("首页");
        indexJB.setForeground(Color.BLUE);
        indexJB.setName("indexJB");
        indexJB.setBorder(jb);
        indexJB.addMouseListener(this);
        leftJP.add(indexJB);

        showUserJB =new JButton("用户信息");
        showUserJB.setForeground(Color.BLUE);
        showUserJB.setName("showUserJB");
        showUserJB.setBorder(jb);
        showUserJB.addMouseListener(this);
        leftJP.add(showUserJB);

        pwdJB =new JButton("修改密码");
        pwdJB.setForeground(Color.BLUE);
        pwdJB.setName("pwdJB");
        pwdJB.setBorder(jb);
        pwdJB.addMouseListener(this);
        leftJP.add(pwdJB);

        addBanksJB =new JButton("添加银行卡");
        addBanksJB.setForeground(Color.BLUE);
        addBanksJB.setName("addBankJB");
        addBanksJB.setBorder(jb);
        addBanksJB.addMouseListener(this);
        leftJP.add(addBanksJB);

        banksJB =new JButton("银行卡");
        banksJB.setForeground(Color.BLUE);
        banksJB.setName("banksJB");
        banksJB.setBorder(jb);
        banksJB.addMouseListener(this);
        leftJP.add(banksJB);

       addMoneyJB =new JButton("充值");
        addMoneyJB.setForeground(Color.BLUE);
        addMoneyJB.setName("addMoneyJB");
        addMoneyJB.setBorder(jb);
        addMoneyJB.addMouseListener(this);
        leftJP.add(addMoneyJB);


        deleteMoneyJB =new JButton("提现");
        deleteMoneyJB.setForeground(Color.BLUE);
        deleteMoneyJB.setName("deleteMoneyJB");
        deleteMoneyJB.setBorder(jb);
        deleteMoneyJB.addMouseListener(this);
        leftJP.add(deleteMoneyJB);

       moveMoneyJB =new JButton("转账");
        moveMoneyJB.setForeground(Color.BLUE);
        moveMoneyJB.setName("moveMoneyJB");
        moveMoneyJB.setBorder(jb);
        moveMoneyJB.addMouseListener(this);
        leftJP.add(moveMoneyJB);


        updateUserJB =new JButton("用户管理");
        updateUserJB.setForeground(Color.BLUE);
        updateUserJB.setName("updateUserJB");
        updateUserJB.setBorder(jb);
        updateUserJB.addMouseListener(this);
        leftJP.add(updateUserJB);

        jpJP.add(leftJP,BorderLayout.WEST);
        conJP=new JPanel();
        conJP.setBorder(new EmptyBorder(10,10,10,10));

        indexJP =new JPanel();
        indexJP.setSize(400,400);
        indexJL=new JLabel();
        ImageIcon icon =new ImageIcon("img/banner1.jpg");
        icon.setImage(icon.getImage().getScaledInstance(450,350,Image.SCALE_DEFAULT));
        indexJL.setIcon(icon);
        indexJP.add(indexJL);
        conJP.add(indexJP);
        jpJP.add(conJP);

        this.add(jpJP);

        this.user=user;
        this.setIconImage(new ImageIcon("img/tubiao_peiqi.jpg").getImage());
        this.setSize(630,480);
        this.setLocationRelativeTo(null);  //居中
        this.setVisible(true);
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    public void  updateView(JPanel jp){
        conJP.removeAll();
        conJP.add(jp);
        conJP.validate();
        conJP.updateUI();
    }


    @Override
    public void mouseClicked(MouseEvent e) {
//        JButton indexJB,showUserJB,pwdJB,banksJB,addMoneyJB,deleteMoneyJB,moveMoneyJB,updateUserJB;
        String str =e.getComponent().getName();
        switch (str){
            case "indexJB":
                updateView(indexJP);
                break;
            case "showUserJB":
                UserController userController0 =new UserController();
                List<User> list0 = userController0.showUser();
                ShowUserView showUserView =new ShowUserView(user,list0);
                updateView(showUserView);
                break;
            case "pwdJB":
                //System.out.println("11111");
                UpdatePwdView updatePwdView =new UpdatePwdView(user);
                updateView(updatePwdView);
                break;
            case  "addBankJB":

                AddBanksView addBanksView=new AddBanksView(user);
                updateView(addBanksView);
                    break;

            case  "banksJB":
                BanksController banksController =new BanksController();
                List<Banks> list = banksController.showBanksByTel(user.getTel());
                ShowBanksView showBanksView=new ShowBanksView(list);
                updateView(showBanksView);
                break;
            case "addMoneyJB":
                BanksController banksController1 =new BanksController();
                List<Banks> lists =banksController1.showBanksByTel(user.getTel());
                AddUsersMoneyView addUsersMoneyView =new AddUsersMoneyView(user,lists);
                updateView(addUsersMoneyView);
                break;
            case "deleteMoneyJB":
                BanksController banksController2 =new BanksController();
                List<Banks> listss =banksController2.showBanksByTel(user.getTel());
                AddBanksMoneyView addBanksMoneyView =new AddBanksMoneyView(user,listss);
                updateView(addBanksMoneyView);
                break;
            case "moveMoneyJB":
                BanksController banksController3 =new BanksController();
                List<Banks> listsss =banksController3.showBanksByTel(user.getTel());
                MoveMoneyView moveMoneyView =new MoveMoneyView(listsss);
                updateView(moveMoneyView);
                break;
            case "updateUserJB":
                UserController userController =new UserController();
                List<User> list1 = userController.showUser();
                UsersView usersView =new UsersView(list1);
                updateView(usersView);
                break;
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

MoveMoneyView

package com.baizhi.view;

import com.baizhi.controller.BanksController;
import com.baizhi.controller.UserController;
import com.baizhi.entity.Banks;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;

public class MoveMoneyView extends JPanel implements MouseListener {
    ImageIcon icon;
    Image img;

    private Box boxV,boxH,boxH1,boxH2,boxH3,boxH4;
    private JLabel inMoneyJL,outMoneyJL,moneyJL,topJL,inMoneyNumJL,outMoneyNumJL;
    private JTextField moneyJF,outMoneyJF,inMoneyJF;
    private JButton stu;
    private JComboBox inMoneyJC,outMoneyJC;

public MoveMoneyView(List<Banks> list) {
    icon=new ImageIcon("img/bg2.png");
    img=icon.getImage();

    boxH=Box.createHorizontalBox();
    boxH1=Box.createHorizontalBox();
    boxH2=Box.createHorizontalBox();
    boxH3=Box.createHorizontalBox();
    boxH4=Box.createHorizontalBox();
    boxV=Box.createVerticalBox();


    topJL =new JLabel("银行卡转账");
    topJL.setFont(new Font("微软雅黑", Font.BOLD, 26));
    boxH.add(topJL);

    outMoneyJL=new JLabel("请选择转出对象:");
    outMoneyJC = new JComboBox();

    outMoneyJC.addItem("---请选择---");
    outMoneyJC.addItem("账户");
    outMoneyJC.addItem("银行卡");
    outMoneyNumJL=new JLabel("请输入转出的卡号或手机号:");
    outMoneyJF =new JTextField();

    boxH1.add(outMoneyJL);
    boxH1.add(Box.createHorizontalStrut(10));
    boxH1.add(outMoneyJC);
    boxH1.add(Box.createHorizontalStrut(10));
    boxH1.add(outMoneyNumJL);
    boxH1.add(Box.createHorizontalStrut(10));
    boxH1.add(outMoneyJF);

    inMoneyJL=new JLabel("请选择转入对象:");
    inMoneyJC = new JComboBox();
    inMoneyJC.addItem("---请选择---");
    inMoneyJC.addItem("账户");
    inMoneyJC.addItem("银行卡");
    inMoneyNumJL=new JLabel("请输入转出的卡号或手机号:");
    inMoneyJF =new JTextField();
    boxH2.add(inMoneyJL);
    boxH2.add(Box.createHorizontalStrut(10));
    boxH2.add(inMoneyJC);
    boxH2.add(Box.createHorizontalStrut(10));
    boxH2.add(inMoneyNumJL);
    boxH2.add(Box.createHorizontalStrut(10));
    boxH2.add(inMoneyJF);


    moneyJL =new JLabel("请输入转帐金额:");
    moneyJF=new JTextField(20);
    moneyJF.setFont(new Font(null, Font.PLAIN, 20));
    boxH3.add(Box.createHorizontalStrut(30));
    boxH3.add(moneyJL);
    boxH3.add(Box.createHorizontalStrut(18));
    boxH3.add(moneyJF);
    boxH3.add(Box.createHorizontalStrut(30));

    stu =new JButton("确定");
    stu.setName("stu");
    stu.addMouseListener(this);
    boxH4.add(stu);

    boxV.add(boxH);
    boxV.add(Box.createVerticalStrut(40));
    boxV.add(boxH1);
    boxV.add(Box.createVerticalStrut(40));
    boxV.add(boxH2);
    boxV.add(Box.createVerticalStrut(40));
    boxV.add(boxH3);
    boxV.add(Box.createVerticalStrut(40));
    boxV.add(boxH4);
    boxV.add(Box.createVerticalStrut(80));

    this.add(boxV);

}
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
    }
    @Override
    public void mouseClicked(MouseEvent e) {
    String moneys = moneyJF.getText();
    String outCla=outMoneyJC.getSelectedItem().toString();
    String inCla=inMoneyJC.getSelectedItem().toString();
    String outNum=outMoneyJF.getText();
    String inNum=inMoneyJF.getText();
        if (moneys.equals("")){
            JOptionPane.showMessageDialog(null,"金额不能为空!");
            return;
        }
        else if("---请选择---".equals(outCla)||"---请选择---".equals(inCla)){
            JOptionPane.showMessageDialog(null,"请选择类型!");
            return;
        }
        else if (outNum.equals("")||inNum.equals("")){
            JOptionPane.showMessageDialog(null,"账户不能为空!");
        }

        try {
            double money = Double.parseDouble(moneys);
            if (money <= 0) {
                JOptionPane.showMessageDialog(null, "充值金额要大于0!");
                return;
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "请输入数字!");
            return;
        }
        double money =Double.parseDouble(moneys);
        BanksController banksController =new BanksController();
        BanksController banksController1 =new BanksController();
        UserController userController=new UserController();
        boolean flag;
        boolean a = false,b=false;
        if (outCla.equals("银行卡")){
            a=banksController.chickNUm(outNum);
            if (inCla.equals("账户")){
                b=userController.chickNUm(inNum);
            }else if (inCla.equals("银行卡")){
                b=banksController.chickNUm(inNum);
            }
        }else if (outCla.equals("账户")){
            a=userController.chickNUm(outNum);
            if (inCla.equals("账户")){
                b=userController.chickNUm(inNum);
            }else if (inCla.equals("银行卡")){
                b=banksController.chickNUm(inNum);
            }
        }

        flag =a&&b;

//        boolean flag= banksController.moveMoney(banksNum,banksNum1,money);

        if(flag){
            //banksController.addMoney(banksNum,money);
            int f=0;
            if (outCla.equals("银行卡")){
                System.out.println("1银行卡减钱了");
                a=banksController.deleteMoney(outNum,money);
                if (inCla.equals("账户")&&a){
                    b=userController.addMoney(inNum,money);
                }else if (inCla.equals("银行卡")&&a){
                    System.out.println("二银行卡加钱了");
                    banksController1.addMoney(inNum,money);
                }else {
                    JOptionPane.showMessageDialog(null,"账户余额不足,转账失败!");
                    inMoneyJF.setText("");
                    outMoneyJF.setText("");
                    moneyJF.setText("");
                    f=1;
                }
            }else if (outCla.equals("账户")){
                a=userController.deleteMoney(outNum,money);
                if (inCla.equals("账户")&&a){
                    userController.addMoney(inNum,money);
                }else if (inCla.equals("银行卡")&&a){
                    System.out.println("2二银行卡加钱了");
                    banksController.addMoney(inNum,money);
                }else {
                    JOptionPane.showMessageDialog(null,"账户余额不足,转账失败!");
                    inMoneyJF.setText("");
                    outMoneyJF.setText("");
                    moneyJF.setText("");
                    f=1;
                }
            }if (f==0) {
                JOptionPane.showMessageDialog(null, "转账成功!");
                inMoneyJF.setText("");
                outMoneyJF.setText("");
                moneyJF.setText("");
                return;
            }
        }else {
            JOptionPane.showMessageDialog(null,"账户错误,转账失败!");
            inMoneyJF.setText("");
            outMoneyJF.setText("");
            moneyJF.setText("");
            return;
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

ShowBanksView

package com.baizhi.view;

import com.baizhi.entity.Banks;

import javax.swing.*;
import java.util.List;

public class ShowBanksView extends JPanel {
    List<Banks> List;
    public ShowBanksView(List<Banks> list){
        //System.out.println(list.size());
        JScrollPane js =new JScrollPane();
        Object[] clum = {"卡号","开户行","余额"};
        Object[][] data=new Object[list.size()][3];
        for (int i=0;i<list.size();i++){
            Banks b =list.get(i);
            data[i][0]=b.getBankNumber();
            data[i][1]=b.getBankName();
            data[i][2]=b.getMoney();
        }
        JTable jTable =new JTable(data,clum);
        js.setViewportView(jTable);
        this.add(js);


    }
}

ShowUserView

package com.baizhi.view;

import com.baizhi.entity.User;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.util.List;

public class ShowUserView extends JPanel {

    private JPanel top,bom;

    private JLabel telJL,pwdJL,nameJL,relnameJL,cardNumJL,emailJL,balJL;
    private JTextField telJF,nameJF,relnameJF,cardNumJF,emailJF,balJF;
    private JPasswordField pwdJF;
    public ShowUserView(User user, List<User> list){

        this.setLayout(new BorderLayout());
        top=new JPanel();
        JLabel topJL =new JLabel("个人信息展示");
        topJL.setFont(new Font("微软雅黑", Font.PLAIN, 26));
        top.add(topJL);
        this.add(top,BorderLayout.NORTH);

        //下边
        bom=new JPanel();

        bom.setLayout(new GridLayout(7,2,2,10));
        EmptyBorder job =new EmptyBorder(0,0,20,20);
        EmptyBorder fbo =new EmptyBorder(0,0,0,0);

        telJL =new JLabel("手机号",JLabel.LEFT);
        telJL .setIcon(new ImageIcon("img/phone_icon.png"));
        telJL.setBorder(job);

        telJF =new JTextField(20);
        telJF.setText(user.getTel());
        telJF.setBorder(fbo);
        bom.add(telJL);
        bom.add(telJF);

        pwdJL =new JLabel("密码",JLabel.LEFT);
        pwdJL .setIcon(new ImageIcon("img/password_icon.png"));
        pwdJL.setBorder(job);
        pwdJF = new JPasswordField(20);
        pwdJF.setText(user.getPwd());
        pwdJF.setBorder(fbo);
        bom.add(pwdJL);
        bom.add(pwdJF);

        nameJL =new JLabel("昵称",JLabel.LEFT);
        nameJL .setIcon(new ImageIcon("img/name_icon.png"));
        nameJL.setBorder(job);
        nameJF =new JTextField(20);
        nameJF.setText(user.getName());
        nameJF.setBorder(fbo);
        bom.add(nameJL);
        bom.add(nameJF);

        relnameJL =new JLabel("真实姓名",JLabel.LEFT);
        relnameJL .setIcon(new ImageIcon("img/username_icon.png"));
        relnameJL.setBorder(job);
        relnameJF =new JTextField(20);
        relnameJF.setText(user.getRelName());
        relnameJF.setBorder(fbo);
        bom.add(relnameJL);
        bom.add(relnameJF);

        cardNumJL =new JLabel("身份证号",JLabel.LEFT);
        cardNumJL .setIcon(new ImageIcon("img/idc_icon.png"));
        cardNumJL.setBorder(job);
        cardNumJF =new JTextField(20);
        cardNumJF.setText(user.getCardNum());
        cardNumJF.setBorder(fbo);
        bom.add(cardNumJL);
        bom.add(cardNumJF);

        emailJL =new JLabel("邮箱",JLabel.LEFT);
        emailJL .setIcon(new ImageIcon("img/msg_icon.png"));
        emailJL.setBorder(job);
        emailJF =new JTextField(20);
        emailJF.setText(user.getEmail());
        emailJF.setBorder(fbo);
        bom.add(emailJL);
        bom.add(emailJF);

        balJL =new JLabel("余额",JLabel.LEFT);
        balJL .setIcon(new ImageIcon("img/balance_icon.png"));
        balJL.setBorder(job);
        balJF =new JTextField(20);
        for (User user1:list){
            if (user1.getTel().equals(user.getTel())){
                balJF.setText(String.valueOf(user1.getMoney()));
            }
        }
        balJF.setBorder(fbo);
        bom.add(balJL);
        bom.add(balJF);

        this.add(bom,BorderLayout.CENTER);
    }

}

UpdatePwdView

package com.baizhi.view;

import com.baizhi.controller.UserController;
import com.baizhi.entity.User;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Objects;

public class UpdatePwdView extends JPanel implements MouseListener {

    ImageIcon icon;
    Image img;
    private User user;
    private Box boxV,boxH1,boxH2,boxH3,boxH,boxH4;
    private JButton relJB,subJB;
    private JLabel pwdJL,pwd1JL,topJL,pwd2JL;
    private JPasswordField pwdJP,pwd1JP,pwd2JP;

    public UpdatePwdView(User user){
        icon=new ImageIcon("img/bg.png");
        img=icon.getImage();
        this.user=user;
        boxV = Box.createVerticalBox();
        boxH= Box.createHorizontalBox();
        boxH1= Box.createHorizontalBox();
        boxH2= Box.createHorizontalBox();
        boxH3= Box.createHorizontalBox();
        boxH4=Box.createHorizontalBox();

        topJL=new JLabel("修改密码");
        topJL.setFont(new Font("微软雅黑", Font.BOLD, 26));
        boxH.add(topJL);

        pwd2JL=new JLabel("请输入原密码:");
        pwd2JP=new JPasswordField(20);
        pwd2JL.setFont(new Font(null, Font.PLAIN, 18));
        boxH4.add(Box.createHorizontalStrut(80));
        boxH4.add(pwd2JL);
        boxH4.add(pwd2JP);
        boxH4.add(Box.createHorizontalStrut(80));

        pwdJL=new JLabel("请输入新密码:");
        pwdJP=new JPasswordField(20);
        pwdJL.setFont(new Font(null, Font.PLAIN, 18));
        boxH1.add(Box.createHorizontalStrut(80));
        boxH1.add(pwdJL);
        boxH1.add(pwdJP);
        boxH1.add(Box.createHorizontalStrut(80));

        pwd1JL =new JLabel("再次输入密码:");
        pwd1JL.setFont(new Font(null, Font.PLAIN, 18));
        pwd1JP =new JPasswordField(20);
        boxH2.add(Box.createHorizontalStrut(80));
        boxH2.add(pwd1JL);
        boxH2.add(pwd1JP);
        boxH2.add(Box.createHorizontalStrut(80));

        subJB =new JButton("确定");
        subJB.setName("subJB");
        subJB.addMouseListener(this);
        relJB =new JButton("重置");
        relJB.setName("relJB");
        relJB.addMouseListener(this);
        boxH3.add(Box.createHorizontalStrut(40));
        boxH3.add(subJB);
        boxH3.add(Box.createHorizontalStrut(40));
        boxH3.add(relJB);


        boxV.add(boxH);
        boxV.add(Box.createVerticalStrut(50));
        boxV.add(boxH4);
        boxV.add(Box.createVerticalStrut(40));
        boxV.add(boxH1);
        boxV.add(Box.createVerticalStrut(40));
        boxV.add(boxH2);
        boxV.add(Box.createVerticalStrut(40));
        boxV.add(boxH3);
        boxV.add(Box.createVerticalStrut(100));

        this.add(boxV);

    }
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);
    }


    @Override
    public void mouseClicked(MouseEvent e) {
        String str=e.getComponent().getName();
        String pwd2=new String(pwd2JP.getPassword());
        String pwd= new String(pwdJP.getPassword());
        String pwd1= new String(pwd1JP.getPassword());
        if(str.equals("subJB")) {
            if (pwd2.equals(user.getPwd())) {
                if (pwd.equals(pwd1)) {
                    if (pwd2.equals("")||pwd.equals("") || pwd1.equals("")) {
                        JOptionPane.showMessageDialog(null, "密码不能为空!");
                        pwdJP.setText("");
                        pwd1JP.setText("");
                        pwd2JP.setText("");
                    } else {
                        user.setPwd(pwd);
                        UserController userController =new UserController();
                        boolean flag =userController.updatePwd(user.getTel(),pwd2,pwd);
                        if (flag){
                            JOptionPane.showMessageDialog(null, "修改成功!");
                        }
                        pwdJP.setText("");
                        pwd1JP.setText("");
                        pwd2JP.setText("");
                    }
                } else {
                    JOptionPane.showMessageDialog(null, "修改失败,两次密码不一致!");
                    pwdJP.setText("");
                    pwd1JP.setText("");
                    pwd2JP.setText("");
                }
            }else {
                JOptionPane.showMessageDialog(null, "修改失败,原密码错误!");
                pwdJP.setText("");
                pwd1JP.setText("");
                pwd2JP.setText("");
            }
        }
        if(str.equals("relJB")){
            pwdJP.setText("");
            pwd1JP.setText("");
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

UserLoginView

package com.baizhi.view;

import com.baizhi.controller.UserController;
import com.baizhi.entity.User;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class UserLoginView extends JFrame implements MouseListener {

    private JPanel jp;
    private JLabel top;
    private JPanel bom;
    private JLabel nameJL,pwdJL;
    private JTextField nameJF;
    private JPasswordField pwdJF;
    private JButton login,reg;

    public UserLoginView(){
        jp =new JPanel();
        jp.setLayout(new BorderLayout());

        top=new JLabel();
        ImageIcon icon =new ImageIcon("img/logo.png");
        icon.setImage(icon.getImage().getScaledInstance(300,50, Image.SCALE_DEFAULT));
        top.setIcon(icon);
        top.setBorder(new EmptyBorder(20,70,20,30));
        jp.add(top,BorderLayout.NORTH);
        bom =new JPanel();
        bom.setLayout(new GridLayout(3,2,20,20));
        bom.setBorder(new EmptyBorder(0,40,30,40));
       // jp.setLayout(new GridLayout(2,3,20,20));

        nameJL =new JLabel("手机号:",JLabel.RIGHT);
        nameJL.setIcon(new ImageIcon("img/username_icon.png"));
        nameJL.setBorder(new EmptyBorder(0,0,0,20));
        nameJF = new JTextField(20);
        pwdJL=new JLabel("密    码:",JLabel.RIGHT);
        pwdJL.setIcon(new ImageIcon("img/password_icon.png"));
        pwdJL.setBorder(new EmptyBorder(0,0,0,20));

        pwdJF=new JPasswordField(20);
        login =new JButton("登录");
        login.setName("login");
        login.addMouseListener(this);
        reg=new JButton("注册");
        reg.setName("reg");
        reg.addMouseListener(this);

        bom.add(nameJL);
        bom.add(nameJF);
        bom.add(pwdJL);
        bom.add(pwdJF);
        bom.add(login);
        bom.add(reg);
        jp.add(bom,BorderLayout.CENTER);
        this.add(jp);



        this.setSize(450,300);
        this.setLocationRelativeTo(null);
        this.setVisible(true);
        this.setTitle("百知转账管理系统");
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
    @Override
    public void mouseClicked(MouseEvent e) {
        String str =e.getComponent().getName();
        System.out.println(str);
        if(str.equals("login")){
            String tel =nameJF.getText();
            String pwd =new String(pwdJF.getPassword());
            if(tel.equals("")){
                JOptionPane.showConfirmDialog(null,"手机号不能为空");
            }else if(pwdJF.equals("")){
                JOptionPane.showConfirmDialog(null,"密码不能为空");
            }else{
                UserController userController =new UserController();
                User user=userController.userLog(tel,pwd);
                if (user==null){
                    JOptionPane.showMessageDialog(null,"登录失败!");

                }else {
                    System.out.println("成功进入主页面");
                    MainView mainView=new MainView(user);
                    dispose();
                }
            }
        }else {
            AddUserView ad=new AddUserView(this);
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

UsersView

package com.baizhi.view;

import com.baizhi.entity.Banks;
import com.baizhi.entity.User;

import javax.swing.*;
import java.awt.event.MouseListener;
import java.util.List;

public class UsersView extends JPanel  {

//    String name, String cardNum, String tel, String pwd, String email, double money, String relName
    java.util.List<Banks> List;
    public UsersView(List<User> list){
        //System.out.println(list.size());
        JScrollPane js =new JScrollPane();
        Object[] clum = {"昵称","身份证号","电话号码","邮箱","余额","真实姓名"};
        Object[][] data=new Object[list.size()][6];
        for (int i=0;i<list.size();i++){
            User user =list.get(i);
            data[i][0]=user.getName();
            data[i][1]=user.getCardNum();
            data[i][2]=user.getTel();
            data[i][3]=user.getEmail();
            data[i][4]=user.getMoney();
            data[i][5]=user.getRelName();
        }
        JTable jTable =new JTable(data,clum);
        js.setViewportView(jTable);
        this.add(js);


    }
}

总结

拒绝白嫖,给个三连吧!

在这里插入图片描述

Java实训项目1:GUI学生信息管理系统 - 实训概述 让学生综合运用J2SE有关知识开发【学生信息管理系统】。主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发,让学生了解系统开发的一般流程,初步了解MVC模式与单元测试,巩固所学的Java理论知识,提高Java数据库应用编程的基本技能。...... 阅读详情

相关推荐

Java Swing 超市收银系统 窗体项目 期末课程设计

功能描述:收银员可登录系统,进行收银、会员管理、商品管理、查看消费记录操作;对会员信息进行查询、添加、修改操作,新增会员时,会员手机号不能重复;对商品信息进行查询、添加、修改操作;收银台结算,结账时可输入会员卡号、查询商品信息、校验商品库存;结账后减商品库存,如果有会员卡,增加会员积分;消费记录中保存每一次交易的详细信息,可根据会员手机号查询。

专治八阿哥的孟老师 1033

JAVA实训项目:银行网银系统管理平台(含源码)

前言 大一最后的实训项目,也是算大一的结束的标志。 一、项目功能需求描述以及相关技术的应用 本网银系统管理平台主要任务是对用户办理储蓄业务(如存款,取款等)和对个人账户下的银行卡进行管理。 对于用户,主要实现的功能有个人信息的管理基本的增改查(包括注册,登录,修改密码,个人信息查看)以及用户之间进行余额的转账。 1.登陆 2.注册 3.首页 4.个人信息显示 5.修改密码 6.充值 7.提现 8.转账 9.银行卡管理 (1)查看银行卡 (2)添加银行卡 对于银行管理员,主要实现的功能有:查看所有的用

慢热型网友的博客 1万+

基于新张量核范数的TRPCA:多维数据低秩稀疏分解的理论与实践

本文深入探讨了基于新张量核范数的TRPCA(张量鲁棒主成分分析)技术。该技术通过t-product运算和新定义的张量核范数,能有效从多维数据(如视频、彩色图像)中分离低秩背景与稀疏前景/噪声。文章结合理论、核心算法(ADMM、t-SVT)及图像恢复、视频背景建模等实战案例,展示了其在处理复杂多维数据分解任务中的强大优势。

weixin_29173777的博客 269

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

文章目录前言一. 功能二. 代码BanksControllerUserControllerBanksDaoRecordDaoUserDaoBanksRecordUserBanksService 接口UserService接口BanksServiceImplUsersServiceImplAppStar 测试类ConnectMsql (JDBC连接Mysql数据库)AddBanksMoneyViewAddBanksViewAddUsersMoneyViewAddUserViewMainViewMoveMon.

Tom197的博客 5130

开源大模型本地部署实战:Llama、DeepSeek、Qwen选型与工程落地指南

大语言模型(LLM)本地部署已成为AI工程化核心环节,其本质不是比拼参数量或榜单分数,而是考察模型架构、推理引擎、量化支持、IDE集成与多模态扩展能力的系统性适配。Llama以纯净Transformer结构成为通用底座,依赖llama.cpp和GGUF量化实现跨平台轻量推理;DeepSeek深度优化代码与数学推理,通过原生OpenAPI、FlashAttention-2及tensor parallelism显著降低API延迟;Qwen则采用模块化设计,支持视觉编码器(Qwen-VL)、生物计算(Qwen-B

weixin_29952383的博客 396

腾讯云运维工程师认证TCA--真题(最新2022.11)

解析:云原生应用的12要素,1.基准代码:一份基准代码,多份部署;解析:腾讯云主账号具备对其名下资源(包括存储桶)的最大权限,您虽然可以在存储桶策略中限制几乎所有操作,但主账号始终具备 PUT Bucket Policy 操作的权限,主账号调用该操作不检查存储桶策略。解析:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。解答:云原生五大关键技术:微服务、容器化、DevOps、持续交付。

e1210101的博客 9915

2026毕设ssm+vue基于的银行用户信息管理系统论文+程序

本文研究基于SSM+VUE框架的银行个人账户综合管理平台开发。针对现有系统业务闭环不足、状态一致性差等问题,采用RUP迭代模型,结合状态机引擎和分布式事务,实现开户、转账、挂失、贷款等全生命周期管理。重点解决挂失还款冲突、利息精度误差等技术难点,通过Vite优化前端性能。预期成果包括开源系统、核心论文及软件著作权,为金融系统教学提供完整案例。采用SpringStateMachine、Redis集群等技术,确保系统支持200万账户规模,转账吞吐量达500TPS。研究填补了国内在账户状态机和业务编排教学案例的空

计算机源码_陈 638

强化学习-----DQN(Deep Q-network)

DQN(Deep Q-Network)是一种基于深度学习和强化学习的算法,由DeepMind提出,用于解决离散动作空间下的马尔科夫决策过程(MDP)问题。它是首个成功将深度学习应用于解决强化学习任务的算法之一。DQN,即深度Q网络(Deep Q-network),是指基于深度学习的Q-Learing算法。那什么是Q-leaning?可以看上一篇文章Q-learning是一种经典的强化学习算法,用于解决马尔可夫决策过程(Markov Decision Process,MDP)中的控制问题。

qq_74722169的博客 2万+

基于ssm+vue微闪银行系统【开题+程序+论文】-计算机毕业设计

同时,注重系统的安全性与稳定性,采用先进的加密技术和安全防护措施,保障用户信息与资金安全,为银行数字化转型提供坚实的技术支撑。微闪银行系统作为这一趋势下的创新产物,旨在通过整合云计算、大数据、人工智能等先进技术,构建一个集用户管理、资金交易、理财规划、信贷服务于一体的综合性在线银行平台。该系统不仅能够满足用户随时随地进行账户管理、资金转账、投资理财等需求,还能通过智能推荐和个性化服务,提升用户体验,增强用户粘性,为银行业的数字化转型提供有力支撑。微闪银行系统的研究对于推动金融行业的数字化转型具有重要意义。

婉清计算机毕业设计 1051

Hermes接入IMA知识库全攻略:将知识库装进你的Hermes智能体

本文详细介绍了如何将IMA知识库功能接入Hermes Agent平台,实现一站式笔记管理和知识库操作。主要内容包括:获取IMA访问凭证、下载技能包、配置凭据(支持文件和环境变量两种方式)、验证配置有效性,以及实际应用演示(查询知识库列表、创建笔记并添加到知识库)。文章还提供了常见问题解决方案,如认证失败处理、版本更新等。通过该集成,用户可在Hermes中直接调用IMA的笔记创建、知识库管理等强大功能,提升工作效率。

小石头的专栏 641

定位分析RCU stall问题

在编译内核时打开或者在启动参数中增加这样统计信息是在采样周期中收集的。其中number行分别是发生stalled的cpu上的硬中断,软中断,和上下文的切换次数cputime行的前三列分别是硬中断,软中断和任务消耗的cpu时间,单位为ms.最后一个数字是统计的周期时间(ms).因为用户态的任务通常不会引起RCU CPU stalls,所以任务通常是内核任务,这也是为什么只统计system cpu的原因.

happyAnger6的专栏 1994

【课程设计】springboot游泳馆管理系统-计算机毕业设计源码09095

注册和登录:用户可以注册个人账号并使用账号登录系统。 预约游泳场次:用户可以浏览游泳场次的时间表,并选择合适的时间段进行预约。 费用支付:用户可以在线支付游泳场次的费用,确保预约成功。 查看个人记录:用户可以查看自己的预约记录、消费历史和会员资料等。 反馈与投诉:用户可以向管理员提供反馈和投诉,以改进服务质量。 会员功能: 会员注册和登录:会员可以注册会员账号并使用账号登录系统。 会员特权:会员享有特定的优惠和特权,如优先预约、折扣价格、专属活动等。 会员管理:会员可以查看自己的会员信息、会员等级和积分等,

高级程序源的博客 1720

【3天快速入门WPF】11-附加属性

创建一个静态类,用于定义附加属性。使用方法注册附加属性。提供Get和Set方法来获取和设置附加属性的值。通过以上步骤,我们可以在WPF中轻松实现和使用附加属性。附加属性的主要用途包括为控件添加自定义行为、控制布局信息(如Grid.Row和)以及实现动态样式。

Zy100Papa的博客 679

毕业设计选题:信息安全专业选题思路 最新研究方向推荐

信息安全专业涵盖多个重要研究方向,包括网络安全、数据隐私与保护、应用安全、云安全、物联网安全、人工智能与机器学习在安全中的应用,以及法律与合规性。网络安全致力于保护计算机网络免受攻击,采用入侵检测和防火墙等技术;数据隐私保护通过加密和访问控制。涵盖了深度学习、机器学习、算法、人工智能、大数据、信息安全、推荐系统、目标检测等多个热门领域。对于计算机专业、软件工程专业、人工智能专业、大数据专业的毕业生而言,毕业设计选题至关重要。对深度学习技术、机器学习、算法或人工智能等领域感兴趣的同学,都能提供选题资源和灵感。

毕设帮助,疑难解答,欢迎打扰! 1051

机器人行业面试全攻略:从0到1拿下心仪Offer,看这一篇就够了

【摘要】2026年机器人行业迎来爆发期,全球市场规模超800亿美元,人才争夺激烈。本文针对机器人行业面试提供系统攻略:首先需明确岗位方向、打造差异化标签并了解目标公司;技术面试高频考点包括ROS框架、SLAM导航、运动控制、深度学习和嵌入式系统;项目介绍需采用STAR+R结构并量化成果;行为面试需注意协作能力与职业规划。文章还总结了简历堆砌、单向输出等五大常见误区,强调长期积累与精准准备的重要性,助力求职者把握行业窗口期机会。

郑伟强dev的专栏 191

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【课程设计】springboot大学生入学迎新管理平台计算机毕业设计源码56474

系统主要内容包括后台首页(导航地图)、宿舍信息管理、宿舍申请管理、专业类型管理、到校登记管理、校园介绍管理、入学缴费管理、缴费信息管理、校园卡信息管理、商品类型管理、商品信息管理、订单信息管理、系统管理(轮播图)、公告通知管理、资源管理(新闻资讯、资讯分类)、操作日志等功能。采用的技术路线包括Spring Boot框架的快速开发优势,结合数据库技术实现数据的高效存储与检索,以及前端技术优化用户体验。该系统实现了迎新工作的全流程线上化管理。论文的主要贡献在于提供了一个功能....

Biye_Design的博客 638

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Springboot+MySQL的家政平台系统---附源码00904

该系统采用B/S架构,以Spring Boot作为后端开发框架,结合MySQL数据库对平台数据进行存储和管理,实现了管理员、普通用户和家政公司三类角色的功能划分。系统主要包括数据分析、角色管理、服务信息管理、系统管理、通知公告管理、首页浏览、服务查询以及个人信息管理等功能.............

DZBS2000的博客 192

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Java实训day02

为了便于分类管理项目中不同功能的类或接口,我们需要创建不同包,比如,实体类就放在net.liulixiang.student.bean包里。其中hw是作者拼音名缩写,同学们创建时就改成自己的拼音名缩写。依次创建四个实体类:College、Status、Student与User,分别对应t_college表、t_status表、t_student表与t_user表。实体类的属性对应于数据表的字段,主要两者的数据类型要匹配,网上可以搜索到MySQL数据类型与Java数据类型的匹配对应表。

l559729的博客 139

JAVA实训项目五

/1.获得数据库连接 Connection conn = ConnectionManager . getConnection();//2.定义sQL字符串 String strSQL = "update t_student set name =?, sex =?, age =?, class =?where id =?try {//3.创建预备语句对象 PreparedStatement pstmt = conn . prepareStatement(strSQL);

jdhudjdkdhdh的博客 262

黑马程序员_java_基础加强_模拟银行管理系统

------- android培训、java培训、期待与您交流! ---------- package com.itheima.bank; /*常量类 定义常量*/ public class Constants { public static int MAX_SERVICE_TIME=10000; //最多服务时间10秒 public static int MIN_SERVI

翠月风 664

基于Java的简单银行管理系统(MVC设计模式)

soberw的日常分享博客 1793

java计算机毕业设计租车管理系统源码+mysql数据库+系统+部署+lw文档

java计算机毕业设计租车管理系统源码+mysql数据库+系统+部署+lw文档。springboot基于JavaWeb生鲜OO订购平台的设计与实现。前端技术:Layui、HTML、CSS、JS、JQuery等技术。springboot校园二手电动车交易平台的设计与实现。ssm基于JavaWeb的网上购书后台管理系统。ssm基于SSM框架的在线健康系统设计与实现。ssm基于web高校车辆调度系统的设计与实现。ssm基于ssm的电子配件公司仓库管理系统。ssm基于H的新冠防疫宣传网站的设计与实现。......

m0_72930827的博客 572

(银行简单的管理系统)java实训小型应用开发——数据库,GUI、客服端

java实训——开发小型应用,简单的模拟银行管理系统,使用了java多线程、JDBC连接数据,服务端客服端。

qq_52016756的博客 1478

Java模拟银行系统

模拟实现银行账户的注册,登录,查询,存款,取款,转账六种业务 1)银行账户Account类包括卡号(id),密码(password),余额(amount)三个属性 (2)银行业务包括注册,登录,查询,存款,取款,转账六种操作取款和转账操作中出现的错误提示信息都通过参数传入自定义异常类AccountException中 (3)主菜单—显示主菜单 【1—注册 2—登录 3—退出】 (4)注册—输入卡号和密码,余额初始化为0,查询卡号是否存在,如果不存在,则保存到账户集合中,并提示"注册成功",否则提示“

子佩的博客 3003

面试题(二)-银行业务调度系统

  一、银行业务调度系统需求     模拟实现银行业务调度系统逻辑,具体需求如下:   银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。   有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。   异步随机生成各种类型的客户,生成各类型用户的概率比例为:      ...

weixin_34378969的博客 241
上一篇: JavaScript学习笔记(内容丰富),快来看看吧!
下一篇: Python中的字典—dict
汤米先生
博客等级 码龄6年 5345粉丝 283原创
评论 35
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

汤米先生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值