javaATM课程设计报告.docx
- 文档编号:5427051
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:26
- 大小:194.81KB
javaATM课程设计报告.docx
《javaATM课程设计报告.docx》由会员分享,可在线阅读,更多相关《javaATM课程设计报告.docx(26页珍藏版)》请在冰豆网上搜索。
javaATM课程设计报告
ATM自动取款机
一、需求分析
运用了事件监听技术来实现ATM的各种功能例如:
存款、取款、修改密码、查询。
利用NetBeans进行用户图形的界面排版,符合日常软件使用规范来设计菜单和界面,方便用户操作,同时也使的程序更加简单。
利用NetBeans对图形用户界面进行排版;用JDBCUtil.java文件进行数据库的连接。
本次设计的需求还有设计一个有存款、取款、修改密码、查询功能。
二、概要设计
三、运行环境、开发语言
1软件环境:
操作系统:
windows98/ME/2000/xp/windows7
2硬件环境:
处理器:
IntelPentium166MX或更高
内存:
32MB
硬盘空间:
1GB
显卡:
SVGA显示适配
开法工具:
MyEclipse8.5
四、详细设计
1程序清单
类名
功能
JFrameframe1
ATM自动柜员模拟登陆
类名
功能
JFrameframe2
选择业务
类名
功能
JFrameframe3
修改密码
类名
功能
JFrameframe4
ATM取款
类名
功能
JFrameframe5
ATM存款
2主要代码
图片1ATM自动柜员机登陆:
//第一个窗口界面设计:
ATM自动柜员模拟登陆
frame1=newJFrame("模拟ATM柜员机");
frame1.setSize(400,200);
frame1.setLocation(300,200);
frame1.setResizable(false);//拖动鼠标时,其框架不会改变其大小
GridBagLayoutgridbag=newGridBagLayout();//定义一个布局管理器
GridBagConstraintsconstraints=newGridBagConstraints();//创建该对象
constraints.fill=GridBagConstraints.CENTER;//指定组件填充网格
constraints.insets=newInsets(2,2,2,2);
frame1.setLayout(gridbag);
lb1=newJLabel("请输入您的银行卡号:
");
lb4=newJLabel("");
text1=newJTextField(10);
lb2=newJLabel("请输入您的银行卡密码:
");
text2=newJPasswordField(10);
text2.setEchoChar('●');
lb3=newJLabel("");
zh=newJLabel("123456");
zh.setVisible(false);
mm=newJLabel("123456");
mm.setVisible(false);
pane=newJPanel();
bt1=newJButton("更正");
bt2=newJButton("确定");
bt3=newJButton("退出");
pane.add(bt1);
pane.add(bt2);
pane.add(bt3);
buildConstraints(constraints,0,0,1,1,20,25);//指定其组件在网格中的存放位置及与其他组件之间的距离
gridbag.setConstraints(lb1,constraints);
frame1.add(lb1);//在框架上添加按钮
buildConstraints(constraints,1,0,1,1,40,20);//设置其在网格中的位置
gridbag.setConstraints(text1,constraints);
frame1.add(text1);
buildConstraints(constraints,1,1,1,1,20,12);
gridbag.setConstraints(lb4,constraints);
frame1.add(lb4);
buildConstraints(constraints,0,1,1,1,20,12);
gridbag.setConstraints(zh,constraints);
frame1.add(zh);
buildConstraints(constraints,0,2,1,1,20,5);
gridbag.setConstraints(lb2,constraints);
frame1.add(lb2);
buildConstraints(constraints,1,2,1,1,40,10);
gridbag.setConstraints(text2,constraints);
frame1.add(text2);
buildConstraints(constraints,1,3,1,1,20,12);
gridbag.setConstraints(lb3,constraints);
frame1.add(lb3);
buildConstraints(constraints,0,3,1,1,20,12);
gridbag.setConstraints(mm,constraints);
frame1.add(mm);
buildConstraints(constraints,1,4,1,1,20,5);
gridbag.setConstraints(pane,constraints);
frame1.add(pane);
bt1.addActionListener(this);//为一些按钮注册监听器
bt2.addActionListener(this);
bt3.addActionListener(this);
pack();
frame1.setVisible(true);
图2当帐户号和密码都对时进入“选择业务”界面,在里面可以选择您所修要办理的业务:
//第二个窗口界面设计:
选择业务
frame2=newJFrame("选择业务");
frame2.setSize(400,200);
frame2.setLocation(300,200);
frame2.setResizable(false);
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
b1=newJButton("修改密码");
b2=newJButton("查询余额");
b3=newJButton("我要取款");
b4=newJButton("我要存款");
b5=newJButton("退出");
b6=newJButton("返回");
p1.add(b1);//将按钮添加到面板上
p1.add(b2);
p2.add(b3);
p2.add(b4);
p3.add(b6);
p3.add(b5);
frame2.add(p1,BorderLayout.NORTH);//设置按钮在框架中的位置
frame2.add(p2,BorderLayout.CENTER);
frame2.add(p3,BorderLayout.SOUTH);
b1.addActionListener(this);//为其注册监听器
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b6.addActionListener(this);
b5.addActionListener(this);
图三“选择业务”界面选择“修改密码”进入下面的界面(密码长度大于6位长度):
//第三个窗口界面设计:
修改密码
frame3=newJFrame("修改密码");
frame3.setSize(400,180);
frame3.setLocation(300,200);
frame3.setResizable(false);
GridBagLayoutgridbag1=newGridBagLayout();
GridBagConstraintsconstraints1=newGridBagConstraints();//创建GridBagLayout所对应的类
constraints1.fill=GridBagConstraints.BOTH;
constraints1.insets=newInsets(2,2,2,2);
frame3.setLayout(gridbag);
lbe1=newJLabel("旧密码:
");
lbe2=newJLabel("新密码:
");
lbe3=newJLabel("确认密码:
");
cw1=newJLabel("");
cw2=newJLabel("");
cw3=newJLabel("");
button1=newJButton("确认");
button2=newJButton("业务");
button3=newJButton("退出");
tf1=newJPasswordField(10);
tf2=newJPasswordField(10);
tf3=newJPasswordField(10);
tf1.setEchoChar('●');//设置文本区域显示字符
tf2.setEchoChar('●');
tf3.setEchoChar('●');
buildConstraints(constraints,0,0,1,1,20,12);
gridbag.setConstraints(lbe1,constraints);
frame3.add(lbe1);
buildConstraints(constraints,1,0,1,1,40,0);
gridbag.setConstraints(tf1,constraints);
frame3.add(tf1);
buildConstraints(constraints,2,0,1,1,40,5);
gridbag.setConstraints(cw1,constraints);
frame3.add(cw1);
buildConstraints(constraints,0,1,1,1,20,12);
gridbag.setConstraints(lbe2,constraints);
frame3.add(lbe2);
buildConstraints(constraints,1,1,1,1,40,0);
gridbag.setConstraints(tf2,constraints);
frame3.add(tf2);
buildConstraints(constraints,2,1,1,1,40,5);
gridbag.setConstraints(cw2,constraints);
frame3.add(cw2);
buildConstraints(constraints,0,2,1,1,20,12);
gridbag.setConstraints(lbe3,constraints);
frame3.add(lbe3);
buildConstraints(constraints,1,2,1,1,40,0);
gridbag.setConstraints(tf3,constraints);
frame3.add(tf3);
buildConstraints(constraints,2,2,1,1,40,5);
gridbag.setConstraints(cw3,constraints);
frame3.add(cw3);
buildConstraints(constraints,0,3,1,1,20,12);
gridbag.setConstraints(button1,constraints);
frame3.add(button1);
buildConstraints(constraints,1,3,1,1,40,5);
gridbag.setConstraints(button2,constraints);
frame3.add(button2);
buildConstraints(constraints,2,3,1,1,40,5);
gridbag.setConstraints(button3,constraints);
frame3.add(button3);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
图4选择业务”界面的“查询余额”,初始余额为10000元:
//第四个窗口界面设计:
查询余额
frame4=newJFrame("查询余额");
frame4.setSize(400,200);
frame4.setLocation(300,200);
frame4.setResizable(false);
GridBagLayoutgridbag2=newGridBagLayout();
GridBagConstraintsconstraints2=newGridBagConstraints();
constraints2.fill=GridBagConstraints.BOTH;
constraints2.insets=newInsets(2,2,2,2);
frame4.setLayout(gridbag);
label=newJLabel("您当前的可用余额为:
");
tt=newJLabel("10000");
tt1=newJLabel("元");
bb1=newJButton("业务");
bb2=newJButton("退出");
buildConstraints(constraints,0,0,1,1,20,30);
gridbag.setConstraints(label,constraints);
frame4.add(label);
buildConstraints(constraints,1,0,1,1,1,30);
gridbag.setConstraints(tt,constraints);
frame4.add(tt);
buildConstraints(constraints,2,0,1,1,30,30);
gridbag.setConstraints(tt1,constraints);
frame4.add(tt1);
buildConstraints(constraints,0,1,1,1,1,2);
gridbag.setConstraints(bb1,constraints);
frame4.add(bb1);
buildConstraints(constraints,2,1,1,1,1,2);
gridbag.setConstraints(bb2,constraints);
frame4.add(bb2);
bb1.addActionListener(this);
bb2.addActionListener(this);
图5“选择业务”界面中的“我要取款”,进入“ATM取款”界面:
//第五个窗口界面设计:
ATM取款
frame5=newJFrame("ATM取款");
frame5.setSize(400,200);
frame5.setLocation(300,200);
frame5.setResizable(false);
GridBagLayoutgridbag3=newGridBagLayout();
GridBagConstraintsconstraints3=newGridBagConstraints();
constraints3.fill=GridBagConstraints.CENTER;
constraints3.insets=newInsets(2,2,2,2);
frame5.setLayout(gridbag3);
aa=newJLabel("请输入您要取的数目");
ff=newJTextField(10);
bb=newJLabel("元");
pp=newJPanel();
qq1=newJButton("确定");
qq2=newJButton("业务");
qq3=newJButton("退出");
ww1=newJLabel("");
pp.add(qq1);
pp.add(qq2);
pp.add(qq3);
buildConstraints(constraints3,0,0,1,1,20,10);
gridbag3.setConstraints(aa,constraints3);
frame5.add(aa);
buildConstraints(constraints3,0,1,1,1,1,1);
gridbag3.setConstraints(ff,constraints3);
frame5.add(ff);
buildConstraints(constraints3,1,1,1,1,30,0);
gridbag3.setConstraints(bb,constraints3);
frame5.add(bb);
buildConstraints(constraints3,0,2,1,1,20,10);
gridbag3.setConstraints(pp,constraints3);
frame5.add(pp);
buildConstraints(constraints3,2,2,1,1,20,0);
gridbag3.setConstraints(ww1,constraints3);
frame5.add(ww1);
qq1.addActionListener(this);
qq2.addActionListener(this);
qq3.addActionListener(this);
pack();
图6用户点击存款功能:
//第六个窗口界面设计:
ATM存款
frame6=newJFrame("ATM存款");
frame6.setSize(400,200);
frame6.setLocation(300,200);
frame6.setResizable(false);
GridBagLayoutgridbag4=newGridBagLayout();
GridBagConstraintsconstraints4=newGridBagConstraints();
constraints4.fill=GridBagConstraints.CENTER;
constraints4.insets=newInsets(2,2,2,2);
frame6.setLayout(gridbag4);
w1=newJLabel("请输入您要存款的数目");
f=newJTextField(10);
w2=newJLabel("元");
p3=newJPanel();
q1=newJButton("确定");
q2=newJButton("业务");
q3=newJButton("退出");
ww=newJLabel("");
p3.add(q1);
p3.add(q2);
p3.add(q3);
buildConstraints(constraints4,0,0,1,1,20,10);
gridbag4.setConstraints(w1,constraints4);
frame6.add(w1);
buildConstraints(constraints4,0,1,1,1,1,1);
gridbag4.setConstraints(f,constraints4);
frame6.add(f);
buildConstraints(constraints4,1,1,1,1,30,0);
gridbag4.setConstraints(w2,constraints4);
frame6.add(w2);
buildConstraints(constraints4,0,2,1,1,20,10);
gridbag4.setConstraints(p3,constraints4);
frame6.add(p3);
buildConstraints(constraints4,2,2,1,1,20,0);
gridbag4.setConstraints(ww,constraints4);
frame6.add(ww);
q1.addActionListener(this);
q2.addActionListener(this);
q3.addActionListener(this);
pack();
}
publicvoidactionPerformed(ActionEventaa){
//第一个窗口事件:
ATM自动柜员模拟登陆
if(aa.getSource()==bt1){
lb3.setText("");
lb4.setText("");
text1.setText("");
text2.setText("");
}
if(aa.getSource()==bt2){
Stringzh1=zh.getText();
Stringmm1=mm.getText();
if(text1.getText().equals(zh1)&&text2.getText().equals(mm1)){
frame1.setVisible(false);
frame2.setVisible(true);
}
if(!
(text1.getText().equals("123456"))){//设置初始密码为123456
text1.setText("");
text2.setText("");
lb4.setText("");
lb4.setText("帐户不存在,请重新输入!
");
}
if(text1.getText().equals("123456")&&!
(text
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaATM 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)