JAVA课程设计银行存取管理系统所有代码.docx
《JAVA课程设计银行存取管理系统所有代码.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计银行存取管理系统所有代码.docx(48页珍藏版)》请在冰豆网上搜索。
JAVA课程设计银行存取管理系统所有代码
《JAVA程序设计》
课程设计报告
设计题目:
银行存取系统设计与实现
学院名称:
信息工程学院
专业班级:
13计本2
*****
学号:
**********
一需求分析。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3
二概要设计。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3
三详细设计。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3
四模块中数据库访问。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3
4.1数据库核对用户名和密码(登录)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3
4.2向数据库添加一行(注册)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
4
4.3修改数据库中数据(取款、存款、转账、修改密码码)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
5
4.4查询数据库中数据(显示余额、查询修改)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
5
4.5删除数据库中一行(注销用户)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
6
五软件的整体规划。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
7
5.1登录界面。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
7
5.2用户业务界面。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
8
六数据库设计。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
8
七软件测试。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
8
7.1登录界面(已有用户登录不能登录其他用户)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
9
7.2注册界面(有空文本框有提示)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
9
7.3用户主页(窗口关闭按钮不可以)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
10
7.4存款。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
10
7.5取款(余额不足有提示)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
10
7.6转账(余额不足、卡号不存在都有提示窗口)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
11
7.7查询修改(卡号不可修改)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
11
7.8数据库截图。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
11
7.9测试方法。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
12
八总结。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
12
一需求分析
本软件主要是为用户在银行自助服务的目的设计。
主要业务包括注册、取款、存款、转账、修改密码、查询余额和查询修改信息等项目,一个用户只允许操作自己的信息,保证用户账户的安全。
二概要设计
主要设计可以为用户服务的ATM机客户端,用户可以在登录界面注册自己的卡号,登录后可以进行取款、存款、转账、修改密码、查询余额和查询修改信息的业务,所有操作都会保存数据库。
实现银行自助服务的目的。
三将用户需求模块化
根据概要设计的原则来分析一下本项目的用户需求,并最终转化成用程序语言描述的模块。
什么样的需求才是一个模块?
模块应该具备如下几个特征。
(1)登录主界面:
用类a来实现主界面的显示,用Denlu类中的checkUser(Stringk,Stringm)方法链接数据库核对用户名和密码是否正确,如果正确返回1,如果卡号不存在返回2,如果读取数据库失败返回3。
(2)用户注册:
用类Zc来实现注册界面的显示,用Denlu类中的zhucezh(Stringname,Stringsex,Stringkahao,Stringmima,Stringphone)方法链接数据库,将新用户添加入数据库。
(3)用户主页:
用类Zhuye来实现主页界面的显示,主页中包括业务有取款、存款、转账、修改密码、查询余额和查询修改信息,最后有退出按钮(不能使用窗口关闭按钮退出主页,一个用户登录其他用户不能登录)。
取款:
用类Qukuan来实现取款窗口的显示,用Denlu类中的qukuan(longk,longj)方法链接数据库操作数据。
存款:
用类Cunkuan来实现存款窗口的显示,用Denlu类中的cunkuan(longk,longj)方法链接数据库操作数据。
转账:
用类Zuanzhang来实现转账窗口的显示,用Denlu类中的zhuanzhang(longk,longj)方法链接数据库操作数据。
修改密码:
用类Xiugai来实现修改密码窗口的显示,用Denlu类中的gaimi(Stringy,Stringx)方法链接数据库操作数据。
查询余额:
用类Xianshi来实现查询余额窗口的显示,用Denlu类中的chaxun()方法链接数据库操作数据。
查询修改:
用类Chaxun来实现查改窗口的显示,用Denlu类中的chagai(Stringname,Stringsex,Stringphone)方法链接数据库操作数据。
注销:
使用静态方法shanchu(Stringid)实现,注销时如果余额不为0,提示“取出余额在注销”。
四模块中数据库访问
JAVA课程设计-银行存取管理系统(源代码)
同学们,这里是银行存取管理系统的所有JAVA代码,下载复制粘贴就可以用。
具体建包如下图:
(按图片建立数据库)
数据库截图
所有源代码:
类:
a.java
packagezhuce;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassaextendsJFrame{
staticTextFieldKahao=newTextField("1",20);
staticJPasswordFieldMima=newJPasswordField("110",15);
staticbooleanweiyi=false;
publica(){
JFramef=newJFrame("银行管理系统");
f.setBounds(200,100,700,600);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setResizable(false);
Containerc=getContentPane();//必须继承JFrame类
c.setLayout(null);
c.setBackground(Color.blue);//不采用任何布局方式
f.add(c);
JLabellabel1=newJLabel("欢迎您进入银行管理系统");
JLabellabel2=newJLabel("银行卡号:
");
JLabellabel3=newJLabel("银行卡密码:
");
label1.setFont(newFont("Serif",Font.BOLD,40));
label1.setForeground(Color.WHITE);
//label1.setBounds(300,200,400,300);//改变标签位置错误
label2.setFont(newFont("Serif",Font.BOLD,20));
label2.setForeground(Color.WHITE);
label3.setFont(newFont("Serif",Font.BOLD,20));
label3.setForeground(Color.WHITE);
JButtonbutton1=newJButton("登录");
JButtonbutton2=newJButton("注册");
BHandlerh=newBHandler();
button1.addActionListener(h);
button2.addActionListener(h);
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JPanelp4=newJPanel();
p1.setBounds(0,0,700,200);//改变面板位置错误
p1.setBackground(Color.blue);
p1.add(label1);
p2.setBounds(0,200,700,50);
p2.setBackground(Color.blue);
p2.add(label2);
p2.add(Kahao);
p3.setBounds(0,250,700,50);
p3.setBackground(Color.blue);
p3.add(label3);
p3.add(Mima);
p4.setBounds(0,350,700,70);//改变面板位置错误
p4.setBackground(Color.blue);
p4.add(button1);
p4.add(button2);
c.add(p1);
c.add(p2);
c.add(p3);
c.add(p4);
f.setVisible(true);
}
publicstaticvoidmain(Stringargs[]){
ab=newa();
}
publicclassBHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
if(event.getActionCommand()=="注册")
{
Zczhuce=newZc();
//zhuce.validate();
}
elseif(event.getActionCommand()=="登录")
{
if(Denlu.checkUser(Kahao.getText(),Mima.getText())==1&&weiyi==false)
{
weiyi=true;
JOptionPane.showMessageDialog(a.this,"登录成功!
");
Zhuyezhu=newZhuye();
}
elseif(weiyi==true)
{
JOptionPane.showMessageDialog(a.this,"请先退出已经登录的用户!
");
}
else
{
JOptionPane.showMessageDialog(a.this,"卡号或者密码不正确!
");
}
}
else
{
}
}
}
}
类:
Chaxun.java
packagezhuce;
importjavax.swing.*;
importzhuce.Zhuanzhang.BHandler;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.Statement;
publicclassChaxunextendsJDialog{
TextFieldname=newTextField(20);
TextFieldsex=newTextField(20);
TextFieldkahao=newTextField(20);
TextFieldphone=newTextField(20);
publicChaxun(JFramem,Strings){
super(m,s);
setBounds(350,150,400,400);
setVisible(true);
setModal(false);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setResizable(false);
setLayout(null);
JLabellabel1=newJLabel("客户个人信息查询与修改");
JLabellabel2=newJLabel("姓名:
");
JLabellabel3=newJLabel("性别:
");
JLabellabel4=newJLabel("卡号:
");
JLabellabel5=newJLabel("手机号:
");
label1.setFont(newFont("Serif",Font.BOLD,20));
label2.setFont(newFont("Serif",Font.BOLD,13));
label3.setFont(newFont("Serif",Font.BOLD,13));
label4.setFont(newFont("Serif",Font.BOLD,13));
label5.setFont(newFont("Serif",Font.BOLD,13));
kahao.setEditable(false);//卡号不可修改
JButtonbutton1=newJButton("确定");
JButtonbutton2=newJButton("取消");
BHandlerh=newBHandler();
button1.addActionListener(h);
button2.addActionListener(h);
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JPanelp4=newJPanel();
JPanelp5=newJPanel();
JPanelp6=newJPanel();
p1.setBounds(0,0,400,70);
p1.add(label1);
p2.setBounds(0,70,400,50);
p2.add(label2);
p2.add(name);
p3.setBounds(0,120,400,50);
p3.add(label3);
p3.add(sex);
p4.setBounds(0,170,400,50);
p4.add(label4);
p4.add(kahao);
p5.setBounds(0,220,400,50);
p5.add(label5);
p5.add(phone);
p6.setBounds(0,270,400,70);
p6.add(button1);
p6.add(button2);
add(p1);
add(p2);
add(p3);
add(p4);
add(p5);
add(p6);
try{
//1.注册驱动
StringdriverClassName="com.mysql.jdbc.Driver";
Class.forName("com.mysql.jdbc.Driver");
//2.连接数据库
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/ren","root","");
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("select*fromtablenamewhereUserID='"+Integer.parseInt(a.Kahao.getText())+"'");
if(rs.next())
{
name.setText(rs.getString("Username"));
sex.setText(rs.getString("Usersex"));
kahao.setText(rs.getString("UserID"));
phone.setText(rs.getString("Userphone"));
rs.close();
stmt.close();
conn.close();
}
}
catch(Exceptionsqle){
System.err.println(sqle);
JOptionPane.showMessageDialog(Zhuye.z,"系统故障,请稍后在试!
");
}
setVisible(true);
}
publicclassBHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
intx;
if(event.getActionCommand()=="确定")
{
x=Denlu.chagai(name.getText(),sex.getText(),phone.getText());
System.out.println(x);
if(x==1)
{JOptionPane.showMessageDialog(Zhuye.z,"修改成功!
");dispose();}
else
{JOptionPane.showMessageDialog(Zhuye.z,"修改出错!
");dispose();}
}
elseif(event.getActionCommand()=="取消")
dispose();
}
}
}
类:
Cunkuan.java
packagezhuce;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassCunkuanextendsJDialog{
TextFieldjine=newTextField(10);
publicCunkuan(JFramem,Strings){
super(m,s);
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
setBounds(400,250,400,200);
setVisible(true);
setResizable(false);
setLayout(null);
JLabellabel1=newJLabel("请输入存款的金额");
label1.setFont(newFont("Serif",Font.BOLD,20));
JLabellabel2=newJLabel("金额:
");
label2.setFont(newFont("Serif",Font.BOLD,13));
JButtonbutton1=newJButton("确认");
BHandlerh=newBHandler();
button1.addActionListener(h);
JPanelp1=newJPanel();
JPanelp2=newJPanel();
p1.setBounds(0,0,200,70);
p1.add(label1);
p2.setBounds(25,70,400,50);
p2.add(label2);
p2.add(jine);
p2.add(button1);
add(p1);
add(p2);
setVisible(true);
}
publicclassBHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
if(!
(jine.getText().equals("")))
{
inti=0;
i=Denlu.cunkuan(Integer.parseInt(a.Kahao.getText()),Integer.parseInt(jine.getText()));
if(i==1)
{
JOptionPane.showMessageDialog(Zhuye.z,"成功存款"+jine.getText()+"元!
");
dispose();
}
else
JOptionPane.showMessageDialog(Zhuye.z,"系统故障,请稍后在试!
");
}
else
JOptionPane.showMessageDialog(Zhuye.z,"请输入存款金额!
");
}
}
}
类:
D