ATM - java课程设计

更新时间:2023-10-05 06:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件开发课程设计报告

设计题目:ATM取款机系统

专 业 双学位

姓 名

学 号

指导教师

时 间:

目录

一、概述 ..................................................................................................... 2 二、设计目的............................................................................................. 2 三、系统总体设计 .................................................................................... 2 3.1系统功能模块划分 ........................................................................ 2 3.2 ATM取款机系统功能结构图 ....................................................... 3 3.3各模块详细设计及用户使用说明 ................................................ 4

3.3.1 登陆模块................................................................................................. 4 3.3.2 选择服务模块......................................................................................... 4 3.3.3 取款服务模块......................................................................................... 5 3.3.4 修改密码模块......................................................................................... 6 3.3.5 存款服务模块......................................................................................... 6 3.3.6 查询余额模块......................................................................................... 6 3.3.7 转账服务模块......................................................................................... 7 3.3.8 通信缴费模块......................................................................................... 7 3.3.9 咨询服务模块......................................................................................... 8 3.3.10 退出操作模块......................................................................................... 8

四、系统运行结果及存在问题 ................................................................ 8 4.1运行结果 ........................................................................................ 8 4.2存在问题 ...................................................................................... 14 五、设计体会........................................................................................... 14 六、源程序 ............................................................................................... 14

1

ATM取款机系统

一、概述

自动柜员机(ATM)自发明以来,以其高效和低成本一直受到银行业的青睐,从我国引进第一台柜员机至今已经拥有6万台左右的规模,但与世界平均水平相比,我国的人均拥有量还有差距,与先进国家相比人均拥有数量甚至不到四分之一。为了增强我国银行的竞争力,国家相继出台了很多相关措施,比如《关于促进银行卡产业发展的若干意见》等,各商业银行也对柜员机的发展制定了详细的规划,甚至出现了由银行单独购买模式发展为银行租赁商业公司ATM的模式。可以说,随着我国经济的屈起,我国的柜员机也正面临着一个快速发展的春天。

二、设计目的

(1)复习、巩固软件开发的基础知识,进一步加深对软件开发的理解和掌握; (2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;

(3)培养学生在项目开发中团队合作精神、创新意识及能力。

三、系统总体设计

3.1系统功能模块划分

本系统主要包括登陆模块设计,选择服务模块设计,取款服务模块设计,修改密码模块设计,存款服务模块设计,查询余额模块设计,转账服务模块设计,通信缴费模块设计,咨询服务模块设计,退出操作模块设计等几个功能模块。其中

(1)登陆模块设计:与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。

(2) 选择服务模块设计:在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。

(3) 取款模块设计:在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的,实现用户取款的服务。

(4) 修改密码模块设计:在修改密码模块中,必须要两次输入你的新密码,且两次要匹配,否则系统会报错,然后再重新回到修改密码的界面。

2

(5) 存款模块设计:在存款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的,实现用户取款的服务。

(6) 查询余额模块设计:此功能非常简单,仅仅是实现弹出卡的功能。 (7) 转账服务模块设计:在转账模块中,必须两次输入要转账的账户号,并且两次输入必须相同,否则系统会报错;然后输入转账金额,完成转账。

(8) 通信缴费模块设计:在通信缴费模块中,首先,登陆人要选择指定的冲值金额,其次,要两次输入要缴费的手机号码,且两次输入要相同,否则系统会报错。

(9) 咨询服务模块设计:该功能仅需要实现弹出卡的功能。

(10) 退出操作模块设计:此功能非常简单,仅仅是实现弹出卡的功能。

3.2 ATM取款机系统功能结构图

我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款服务模块、修改密码模块、存款服务模块、查询余额模块、转账服务模块、通信缴费模块、咨询服务模块、退出操作模块组成。总体设计中最核心的问题是系统总体功能结构的确定和子系统与模块的划分,结构化。

ATM取款机系统功能结构图,如下图1所示:

取款服务模块修改密码模块存款服务模块查询余额模块 转账服务模块通信缴费模块咨询服务模块退出操作模块选择服务模块 登陆页面模块

图1 ATM取款机系统功能结构图

该ATM取款机系统各个部分负责的主要业务如下: (1) 登陆页面模块,对取款者进行身份验证。

(2) 选择服务模块 ,包括取款服务,修改密码,存款服务,查询余额,转账服务,通信缴费,咨询服务,退出操作等功能模块。

3

(3) 取款服务模块,实现取款的具体操作。

(4) 修改密码模块,可以方便的实现当前登陆人员对自己的密码进行修改。 (5) 存款服务模块,实现存款的具体操作。 (6) 查询余额模块,查看当前登陆人员的余额。

(7) 转账服务模块,实现当前登陆人员向另一账户进行转账。 (8) 通信缴费模块,实现当前登陆人员对手机进行缴费冲值。 (9) 咨询服务模块,对当前登陆人员提供电话人工服务。 (10) 退卡模块,完成取款,查询等功能后退出银行卡。

3.3各模块详细设计及用户使用说明 初始密码:123456

3.3.1登陆模块

程序运行后,进入登陆页面一,要求登陆着插卡,并点击确认,进入登陆页面二,要求登陆者输入密码,点击确定,若密码正确,进入选择服务模块,否则系统提示“帐号不一致或帐号与金额输入有误,请确认”,此模块相应的详细源代码见附录部分,部分代码如下: panelmain=new JPanel(null); panelmain.setBackground(new Color(119,119,253)); lblpwd=new JLabel(\请输入您的银行卡密码:\

panelmain.add(lblpwd);

lblpwd.setBounds(150, 20, 150, 30);

3.3.2选择服务模块

在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。每一个按钮都有监听器,监视器就会知道所发生的事件,对此事件进行处理。其中的详细源代码请参见附录部分,部分代码如下:

panel3=new JPanel(null);

panel3.setBackground(new Color(119,119,253));

lblwel=new JLabel(username+\欢迎使用罗灿银行ATM系统\ lblwel.setBounds(20,15,350,30); panel3.add(lblwel);

lblwel1=new JLabel(\请选择您需要的交易类型\ lblwel1.setBounds(220,55,350,30); panel3.add(lblwel1);

4

btn3=new JButton(\取款服务\btn3.addActionListener(this); btn3.setBounds(20,90,100,30); panel3.add(btn3);

btn4=new JButton(\修改密码\btn4.addActionListener(this); btn4.setBounds(20,150,100,30); panel3.add(btn4);

btn5=new JButton(\存款服务\btn5.addActionListener(this); btn5.setBounds(20,210,100,30); panel3.add(btn5);

btn6=new JButton(\查询余额\btn6.addActionListener(this); btn6.setBounds(20,270,100,30); panel3.add(btn6);

btn7=new JButton(\转账服务\btn7.addActionListener(this); btn7.setBounds(300,90,100,30); panel3.add(btn7);

btn8=new JButton(\通信交费\btn8.addActionListener(this); btn8.setBounds(300,150,100,30); panel3.add(btn8);

btn9=new JButton(\咨询服务\btn9.addActionListener(this); btn9.setBounds(300,210,100,30); panel3.add(btn9);

btn10=new JButton(\退出操作\btn10.addActionListener(this); btn10.setBounds(300,270,100,30); panel3.add(btn10);

3.3.3取款服务模块

在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不能为负,否则就

5

会弹出报错的窗口。其方法的具体实现代码请参见附录部分,部分代码如下:

panel4=new JPanel(null);

panel4.setBackground(new Color(119,119,253)); lblqukuan=new JLabel(\请输入您的取款数:\ panel4.add(lblqukuan);

lblqukuan.setBounds(115, 20, 150, 30);

lblqukuan=new JLabel(\提示:只能是100元或100元的整数倍。\ panel4.add(lblqukuan);

lblqukuan.setBounds(115, 50, 300, 30);

3.3.4修改密码模块

在修改密码模块中,你必须要两次输入你的新密码,且两次药匹配,否则会报错,然后再重新回到修改密码的界面。在修改密码时用到的方法的具体实现代码请参见附录部分,部分代码如下:

panelchangepwd=new JPanel(null);

panelchangepwd.setBackground(new Color(119,119,253)); lblpwd1=new JLabel(\请输入您需要修改的6位密码:\ lblpwd1.setBounds(115, 30, 300, 30); panelchangepwd.add(lblpwd1);

lblpwd2=new JLabel(\请再次输入您需要修改的6位密码:\ lblpwd2.setBounds(115, 110, 300, 30); panelchangepwd.add(lblpwd2);

3.3.5存款服务模块

在存款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的。用户在存款口放入存款,但是必须是100的倍数。其方法的具体实现代码请参见附录部分,部分代码如下: panelsave=new JPanel(null);

panelsave.setBackground(new Color(119,119,253)); lblsave=new JLabel(\请在存款口处放入存款\ lblsave.setBounds(90,70,350,30); panelsave.add(lblsave);

lblsave1=new JLabel(\请注意:只接收100元或100元的整数倍存款\ lblsave1.setBounds(90,110,350,30); panelsave.add(lblsave1);

3.3.6查询余额模块

用户点击查询余额按钮,则会弹出用户账户中的余额,并显示用户的卡号。

6

其方法的具体实现代码请参见附录部分,部分代码如下:

panelremain=new JPanel(null);

panelremain.setBackground(new Color(119,119,253)); lblremain1=new JLabel(\卡号:\ lblremain1.setBounds(90,70,350,30); panelremain.add(lblremain1);

lblremain=new JLabel(\您的余额为\元,请继续您的操作!”); lblremain.setBounds(90,110,350,30); panelremain.add(lblremain);

3.3.7转账服务模块

在该模块中,为防止用户将对方的账号输入错误,要求用户输入两遍对方的账号,并输入转账金额,若输入错误,则系统会提示用户“帐号不一致或帐号与金额输入有误,请确认”。其方法的具体实现代码请参见附录部分,部分代码如下: paneltrans=new JPanel(null);

paneltrans.setBackground(new Color(119,119,253)); lbltra=new JLabel(\请输入对方的19位帐号:\ lbltra.setBounds(20, 30, 160, 30); paneltrans.add(lbltra);

lbltra1=new JLabel(\请再次输入对方的19位帐号:\ lbltra1.setBounds(20, 80, 190, 30); paneltrans.add(lbltra1);

lbltra2=new JLabel(\请输入您的转账金额:\ lbltra2.setBounds(20, 130, 160, 30); paneltrans.add(lbltra2);

3.3.8通信缴费模块

在该模块中,用户可以为手机进行冲值,要求用户选则指定的冲值金额,并且输入手机号码,点击确定完成冲值。其方法的具体实现代码请参见附录部分,部分代码如下:

panelmobile=new JPanel(null);

panelmobile.setBackground(new Color(119,119,253)); lblmo=new JLabel(\请输入充值的11位手机号码:\ panelmobile.add(lblmo);

lblmo.setBounds(20, 140, 350, 30);

lblmo1=new JLabel(\提示:只接受30元、50元、100元、200元、500元的充值 \

7

3.3.9咨询服务模块

选择该服务模块后,系统会显示“系统升级中……”,并提供银行的人工客服电话。其方法的具体实现代码请参见附录部分,部分代码如下:

panelconsult=new JPanel(null);

panelconsult.setBackground(new Color(119,119,253));

lblcon=new JLabel(\系统升级中...咨询请拨打24小时客服电话95566\ lblcon.setBounds(80,70,390,30); panelconsult.add(lblcon);

3.3.10退出操作模块

用户完成操作后,需要将银行卡退出。其方法的具体实现代码请参见附录部分,部分代码如下:

if(e.getSource()==btngetcard){

JOptionPane.showMessageDialog(null, \磁卡已退出,请保管好您的银行卡!\退卡成功!\INFORMATION_MESSAGE);

四、系统运行结果及存在问题

4.1运行结果

运行程序进入插卡页面,运行效果图,如图2所示:

图2:插卡界面

8

点击按钮插卡、继续后,进入输入密码界面,如图3所示:

图3:输入密码界面

输入不正确,则会提醒你密码不正确,请重新输入,当输入正确密码后,点击确定进入系统主界面,运行效果图,如图4所示:

图4:系统主界面

在主界面中包含了8个主要功能,只要用户在该界面中选择按钮,它就会弹

9

出各个相应的界面。当点击取款服务按钮时弹出取款界面,运行效果图,如图5所示:

图5:取款服务界面

在选择服务界面,点击修改密码功能按钮,则会弹出修改密码界面,运行效果图,如图6所示:

图6:修改密码界面

在选择服务界面,点击存款服务功能按钮,则会弹出存款服务界面,运行效

10

果图,如图7所示:

图7:存款服务界面

取款服务及存款服务完成后均可以打印凭条,运行效果图,如图8所示:

图8:打印凭条界面

当点击余额查询界面时系统会自动帮助你检索你的当前账户还有多少钱,并且在查询完后会自动弹出友好界面,来显示你的当前余额,余额查询界面,运行效果图,如图9所示:

图9:余额查询界面

11

在选择服务界面,点击转账服务功能按钮,则会弹出转账服务界面,运行效果图,如图10所示:

图10:转账服务界面

在选择服务界面,点击通信缴费功能按钮,则会弹出通信缴费界面,运行效果图,如图11所示:

图11:通信缴费界面

12

在选择服务界面,点击咨询服务功能按钮,则会弹出咨询服务界面,运行效果图,如图12所示:

图12:咨询服务界面

在选择服务界面,点击退出操作功能按钮,则会弹出退出操作界面,运行效果图,如图13所示:

图13:退出操作界面

13

用户在完成退出操作后进行取卡操作,点击取卡功能按钮,则会弹出取卡成功界面,运行效果图,如图14所示:

图14:取卡界面

4.2存在问题

在此次课程设计中,我遇到了一些问题,如:对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误,而且要在短时间内用Java语言来设计一个具体的系统是一个较大的挑战;还有对于正规开发一个系统的流程不熟悉,适应起来比较慢,编写各个模块相对应的操作时,自己感觉难以动手,这表明所学的知识不能灵活运用到实际中。

对于以上的问题,自己有清楚的认识,解决办法是需要大量阅读相关的书籍,对于书上以及网站上下载的资料中的Java实例必须有清楚的理解,还有就是多跟精通此方面的老师和同学交流,取其精华。对于实际动手能力与系统开发的流程的适应,必须多进行实际的练习与操作,才能有大的进步。

五、设计体会

通过这次课程设计,使我更加熟悉的掌握了软件开发知识的运用。帮助我们熟悉了更多软件开发语言的功能,提高了我们的动手能力。在这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助了。在这个小应用程序当中,我用了Java外还用了Swing控件。输入输出流等技术。由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提高了我对专业的学习的兴趣,为我以后的学习打下了基础。通过这次课程设计,使我更加熟悉的掌握了软件开发知识的运用。帮助我们熟悉了更多软件开发语言的功能,提高了我们的动手能力。

14

六、源程序

import java.awt.*;

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

public class MyATM extends JFrame implements ActionListener{ JPanel

panelfirst,panelmain,panel3,panel4,panel5,panel6,panel7,panelchangepwd,panelchangepwded,panelsave,panelsaved,panelremain,paneltrans,paneltransed,panelmobile,panelmobiled, panelconsult; JButton

btn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btnsure,btnback,btnok,btncard,btngetcard,btnincard; JButton

btn00,btn01,btn02,btn03,btn04,btn05,btn06,btn07,btn08,btn09,btn010,btnback1,btnremain,btnremain1,btnremain2; JButton

btn000,btn001,btn002,btn003,btn004,btn005,btn006,btn007,btn008,btn009,btn100,btn200,btn300,btn1000,btn500,btnsure1,btnback2,btn0010,btnquok1,btnquok2,btnquok3,btnquok4; JButton

btnpwd,btnpwd1,btnpwd2,btnpwd3,btnpwd4,btn11,btn12,btn13,btn14,btn15,btn16,btn17,btn18,btn19,btn20,btnsave,btnsave1,btnsave2,btnsaved,btnsaved1,btnsaved2,btnsaved3; JButton

btntra,btntra1,btntra2,btntraed,btntraed1,btn21,btn22,btn23,btn24,btn25,btn26,btn27,btn28,btn29,btn30,btncon,btncon1; JButton

btnmo,btnmo1,btnmo2,btnmo30,btnmo50,btnmo100,btnmo200,btnmo500,btnmo10,btnmo11,btnmo12,btnmo13,btnmo14,btnmo15,btnmo16,btnmo17,btnmo18,btnmo19,btnmoed,btnmoed1; JTextField txt2,txttrans,txttrans1,txttrans2,txtmo,txtmo1; JLabel

lbljixu,lblpwd,lblwrong,lblqukuan,lblquok1,lblquok2,lblpwd1,lblpwd2,lblpwd3,lblpwd4,lblsave,lblsave1,lblsaved,lblremain,lblremain1,lbltra,lbltra1,lbltra2,lbltraed,lbltraed1; JLabel lblwel,lblwel1,lblmo,lblmo1,lblmo2,lblmo3,lblmoed,lblmoed1,lblcon,lblcon1; JPasswordField txt1,txtpwd,txtpwd1; Container container; CardLayout Layout; int money,savemoney,mobilemoney=0; double lastmoney,trainsmoney; String userpwd,cardnum,trains,username; boolean flag=true,flag1=false,flag2=false,flag3=true,flag4=false,flag5=false; //构造方法 public MyATM(){

15

super(\中国银行\ this.setSize(435,350); this.setLocation(500, 250); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); //设置不可改变窗口大小 this.setResizable(false); //设置程序小图标 this.setIconImage(this.getToolkit().getImage(\ }

//布局

public void setLayout(){ //用卡片布局 Layout=new CardLayout(); container=getContentPane(); container.setLayout(Layout); //添加第一张卡片 panelfirst=new JPanel(null); //设置卡片的背景颜色 panelfirst.setBackground(new Color(119,119,253)); lbljixu=new JLabel(\请放入磁卡,然后继续操作\ //设置卡片在Panel中的位置 lbljixu.setBounds(140,90,350,30); //为第一张卡片添加一个Label panelfirst.add(lbljixu); //为第一张卡片添加一个按钮 btncard=new JButton(\继续\ btncard.setBounds(310,180,80,30); //为按钮注册事件监听器 btncard.addActionListener(this); //开始时设置按钮不可按 btncard.setEnabled(false); panelfirst.add(btncard); //为第一张卡片添加一个按钮 btngetcard=new JButton(\取卡\ btngetcard.setEnabled(false); btngetcard.setBounds(310,220,80,30); btngetcard.addActionListener(this); panelfirst.add(btngetcard);

16

//为第一张卡片添加一个按钮 btnincard=new JButton(\插卡\btnincard.setBounds(40,220,80,30); btnincard.addActionListener(this); panelfirst.add(btnincard);

container.add(panelfirst,\

//添加登录输入密码卡片 panelmain=new JPanel(null);

panelmain.setBackground(new Color(119,119,253)); lblpwd=new JLabel(\请输入您的银行卡密码:\panelmain.add(lblpwd);

lblpwd.setBounds(150, 20, 150, 30);

//设置文本框为密码型

txt1=new JPasswordField(12); //文本框不可选中 txt1.enable(false); panelmain.add(txt1);

//文本框的输入内容用*显示 txt1.setEchoChar('*');

txt1.setBounds(115,50,200,30);

//添加选择按钮

btnsure=new JButton(\确定\btnsure.addActionListener(this); panelmain.add(btnsure);

btnsure.setBounds(70,160,80,30);

//添加重输按钮

btn010=new JButton(\重输\btn010.addActionListener(this); panelmain.add(btn010);

btn010.setBounds(175,160,80,30);

btnback=new JButton(\退出\btnback.addActionListener(this); panelmain.add(btnback);

btnback.setBounds(280,160,80,30);

lblwrong=new JLabel(\请注意保护好您的密码!\panelmain.add(lblwrong);

lblwrong.setBounds(150,90,200,30);

17

//添加输入按钮

btn01=new JButton(\

btn01.addActionListener(this); panelmain.add(btn01);

btn01.setBounds(45,210,60,30);

btn02=new JButton(\

btn02.addActionListener(this); panelmain.add(btn02);

btn02.setBounds(115,210,60,30);

btn03=new JButton(\

btn03.addActionListener(this); panelmain.add(btn03);

btn03.setBounds(185,210,60,30);

btn04=new JButton(\

btn04.addActionListener(this); panelmain.add(btn04);

btn04.setBounds(255,210,60,30);

btn05=new JButton(\

btn05.addActionListener(this); panelmain.add(btn05);

btn05.setBounds(325,210,60,30);

btn06=new JButton(\

btn06.addActionListener(this); panelmain.add(btn06);

btn06.setBounds(45,260,60,30);

btn07=new JButton(\

btn07.addActionListener(this); panelmain.add(btn07);

btn07.setBounds(115,260,60,30); container.add(panelmain,\

btn08=new JButton(\

btn08.addActionListener(this); panelmain.add(btn08);

btn08.setBounds(185,260,60,30);

btn09=new JButton(\

18

btn09.addActionListener(this); panelmain.add(btn09);

btn09.setBounds(255,260,60,30);

btn00=new JButton(\

btn00.addActionListener(this); panelmain.add(btn00);

btn00.setBounds(325,260,60,30);

//添加主界面卡片

panel3=new JPanel(null);

panel3.setBackground(new Color(119,119,253));

lblwel=new JLabel(username+\欢迎使用中国银行ATM系统\lblwel.setBounds(20,15,350,30); panel3.add(lblwel);

lblwel1=new JLabel(\请选择您需要的交易类型\lblwel1.setBounds(220,55,350,30); panel3.add(lblwel1);

btn3=new JButton(\取款服务\btn3.addActionListener(this); btn3.setBounds(20,90,100,30); panel3.add(btn3);

btn4=new JButton(\修改密码\btn4.addActionListener(this); btn4.setBounds(20,150,100,30); panel3.add(btn4);

btn5=new JButton(\存款服务\btn5.addActionListener(this); btn5.setBounds(20,210,100,30); panel3.add(btn5);

btn6=new JButton(\查询余额\btn6.addActionListener(this); btn6.setBounds(20,270,100,30); panel3.add(btn6);

btn7=new JButton(\转账服务\btn7.addActionListener(this); btn7.setBounds(300,90,100,30); panel3.add(btn7);

19

作?\ lastmoney+=savemoney; panelsaved.setVisible(true); panelsave.setVisible(false); flag2=false; }else{ JOptionPane.showMessageDialog(null, \请先确认已放入存款!\\存款成功!\ } } if(e.getSource()==btnsave2){ panel3.setVisible(true); panelsave.setVisible(false); } if(e.getSource()==btnsaved){ panelsave.setVisible(true); panelsaved.setVisible(false); } if(e.getSource()==btnsaved1){ JOptionPane.showMessageDialog(null, \凭条已打印好,请收好您的存款凭条\存款成功!\TION_MESSAGE); lblsaved.setText(\凭条已打印!请继续您的操作!\ } if(e.getSource()==btnsaved2){ panel3.setVisible(true); panelsaved.setVisible(false); } if(e.getSource()==btnsaved3){ panelfirst.setVisible(true); panelsaved.setVisible(false); } if(e.getSource()==btnremain){ panel3.setVisible(true); panelremain.setVisible(false); } if(e.getSource()==btnremain1){ panelfirst.setVisible(true);

45

panelremain.setVisible(false); }

//查询余额

if(e.getSource()==btn6){ panelremain.setVisible(true); panel3.setVisible(false); lblremain1.setText(\卡号:\ 用户名:\ lblremain.setText(\您的余额为\元,是否继续操作?\}

if(e.getSource()==btn7){ paneltrans.setVisible(true); panel3.setVisible(false); }

//转账时在相应位置输入数值,输入1 if(e.getSource()==btn21){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

//转账时在相应位置输入数值,输入2 if(e.getSource()==btn22){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ }

46

} if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

//转账时在相应位置输入数值,输入3 if(e.getSource()==btn23){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn24){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn25){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ }

47

} if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn26){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn27){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn28){

48

if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn29){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\ } }

if(e.getSource()==btn30){ if(flag3){ if(txttrans.getText().length()<19){ txttrans.setText(txttrans.getText()+\ } } if(flag4){ if(txttrans1.getText().length()<19){ txttrans1.setText(txttrans1.getText()+\ } } if(flag5){ txttrans2.setText(txttrans2.getText()+\

49

btn8=new JButton(\通信交费\btn8.addActionListener(this); btn8.setBounds(300,150,100,30); panel3.add(btn8);

btn9=new JButton(\咨询服务\btn9.addActionListener(this); btn9.setBounds(300,210,100,30); panel3.add(btn9);

btn10=new JButton(\退出操作\btn10.addActionListener(this); btn10.setBounds(300,270,100,30); panel3.add(btn10);

container.add(panel3,\

//添加取款页面卡片 panel4=new JPanel(null);

panel4.setBackground(new Color(119,119,253)); lblqukuan=new JLabel(\请输入您的取款数:\panel4.add(lblqukuan);

lblqukuan.setBounds(115, 20, 150, 30);

lblqukuan=new JLabel(\提示:只能是100元或100元的整数倍。\panel4.add(lblqukuan);

lblqukuan.setBounds(115, 50, 300, 30);

txt2=new JTextField(12); txt2.enable(false); panel4.add(txt2);

txt2.setBounds(115,90,200,30);

btn100=new JButton(\panel4.add(btn100);

btn100.addActionListener(this); btn100.setBounds(45,190,60,30);

btn200=new JButton(\panel4.add(btn200);

btn200.addActionListener(this); btn200.setBounds(115,190,60,30);

20

btn300=new JButton(\panel4.add(btn300);

btn300.addActionListener(this); btn300.setBounds(185,190,60,30);

btn500=new JButton(\panel4.add(btn500);

btn500.addActionListener(this); btn500.setBounds(255,190,60,30);

btn1000=new JButton(\panel4.add(btn1000);

btn1000.addActionListener(this); btn1000.setBounds(325,190,65,30);

btn001=new JButton(\panel4.add(btn001);

btn001.addActionListener(this); btn001.setBounds(45,230,60,30);

btn002=new JButton(\panel4.add(btn002);

btn002.addActionListener(this); btn002.setBounds(115,230,60,30);

btn003=new JButton(\panel4.add(btn003);

btn003.addActionListener(this); btn003.setBounds(185,230,60,30);

btn004=new JButton(\panel4.add(btn004);

btn004.addActionListener(this); btn004.setBounds(255,230,60,30);

btn005=new JButton(\panel4.add(btn005);

btn005.addActionListener(this); btn005.setBounds(325,230,65,30);

btn006=new JButton(\panel4.add(btn006);

btn006.addActionListener(this); btn006.setBounds(45,270,60,30);

21

作?\

btn007=new JButton(\panel4.add(btn007);

btn007.addActionListener(this); btn007.setBounds(115,270,60,30);

btn008=new JButton(\panel4.add(btn008);

btn008.addActionListener(this); btn008.setBounds(185,270,60,30);

btn009=new JButton(\panel4.add(btn009);

btn009.addActionListener(this); btn009.setBounds(255,270,60,30);

btn000=new JButton(\panel4.add(btn000);

btn000.addActionListener(this); btn000.setBounds(325,270,65,30);

btnsure1=new JButton(\确定\panel4.add(btnsure1);

btnsure1.addActionListener(this); btnsure1.setBounds(70,140,80,30);

btn0010=new JButton(\重输\panel4.add(btn0010);

btn0010.addActionListener(this); btn0010.setBounds(175,140,80,30);

btnback2=new JButton(\返回\panel4.add(btnback2);

btnback2.addActionListener(this); btnback2.setBounds(280,140,80,30);

container.add(panel4,\

//添加完成取款操作需要显示的卡片 panel5=new JPanel(null);

panel5.setBackground(new Color(119,119,253));

lblquok1=new JLabel(\取款成功,你本次取款数额为\是否继续操lblquok1.setBounds(60, 110, 350, 30);

22

panel5.add(lblquok1);

btnquok1=new JButton(\继续取款\panel5.add(btnquok1);

btnquok1.addActionListener(this); btnquok1.setBounds(30, 185, 90, 30);

btnquok2=new JButton(\打印凭条\panel5.add(btnquok2);

btnquok2.addActionListener(this); btnquok2.setBounds(30, 240, 90, 30);

btnquok3=new JButton(\其它操作\panel5.add(btnquok3);

btnquok3.addActionListener(this); btnquok3.setBounds(300, 185, 90, 30);

btnquok4=new JButton(\退出操作\panel5.add(btnquok4);

btnquok4.addActionListener(this); btnquok4.setBounds(300, 240, 90, 30);

container.add(panel5,\

//添加修改密码界面卡片

panelchangepwd=new JPanel(null);

panelchangepwd.setBackground(new Color(119,119,253));

lblpwd1=new JLabel(\请输入您需要修改的6位密码:\lblpwd1.setBounds(115, 30, 300, 30); panelchangepwd.add(lblpwd1);

lblpwd2=new JLabel(\请再次输入您需要修改的6位密码:\lblpwd2.setBounds(115, 110, 300, 30); panelchangepwd.add(lblpwd2);

txtpwd=new JPasswordField(12); txtpwd.enable(false); txtpwd.setEchoChar('*');

panelchangepwd.add(txtpwd); txtpwd.setBounds(115,70,200,30);

txtpwd1=new JPasswordField(12); txtpwd1.enable(false);

23

txtpwd1.setEchoChar('*');

panelchangepwd.add(txtpwd1);

txtpwd1.setBounds(115,150,200,30);

btnpwd=new JButton(\确定\panelchangepwd.add(btnpwd); btnpwd.addActionListener(this); btnpwd.setBounds(70,190,80,30);

btnpwd1=new JButton(\重输\panelchangepwd.add(btnpwd1); btnpwd1.addActionListener(this); btnpwd1.setBounds(175,190,80,30);

btnpwd2=new JButton(\返回\panelchangepwd.add(btnpwd2); btnpwd2.addActionListener(this); btnpwd2.setBounds(280,190,80,30);

btn11=new JButton(\panelchangepwd.add(btn11); btn11.addActionListener(this); btn11.setBounds(45,230,60,30);

btn12=new JButton(\panelchangepwd.add(btn12); btn12.addActionListener(this); btn12.setBounds(115,230,60,30);

btn13=new JButton(\panelchangepwd.add(btn13); btn13.addActionListener(this); btn13.setBounds(185,230,60,30);

btn14=new JButton(\panelchangepwd.add(btn14); btn14.addActionListener(this); btn14.setBounds(255,230,60,30);

btn15=new JButton(\panelchangepwd.add(btn15); btn15.addActionListener(this); btn15.setBounds(325,230,60,30);

24

}

//输入密码

if(e.getSource()==btnsure){ if(txt1.getText().equals(userpwd)){ Layout.next(container); txt1.setText(\ } else{ lblwrong.setText(\密码错误,请重新输入\ txt1.setText(\ } //Layout.next(container); }

if(e.getSource()==btn3){ Layout.next(container); }

//重置输入密码

if(e.getSource()==btn010){ txt1.setText(\ lblwrong.setText(\请注意保护好您的密码!\ }

if(e.getSource()==btnback){ Layout.previous(container); txt1.setText(\}

//输入密码

if(e.getSource()==btn00){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn01){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ }

35

}

if(e.getSource()==btn02){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn03){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn04){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn05){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn06){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn07){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

36

if(e.getSource()==btn08){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn09){ lblwrong.setText(\请注意保护好您的密码!\ if(txt1.getText().length()<6){ txt1.setText(txt1.getText()+\ } }

if(e.getSource()==btn000){ String a=txt2.getText(); if(a.equals(\ txt2.setText(\ }else { txt2.setText(a+\ } }

if(e.getSource()==btn001){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn002){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn003){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn004){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn005){ txt2.setText(txt2.getText()+\}

37

if(e.getSource()==btn006){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn007){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn008){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn009){ txt2.setText(txt2.getText()+\}

if(e.getSource()==btn100){ txt2.setText(\}

if(e.getSource()==btn200){ txt2.setText(\}

if(e.getSource()==btn300){ txt2.setText(\}

if(e.getSource()==btn500){ txt2.setText(\}

if(e.getSource()==btn1000){ txt2.setText(\}

if(e.getSource()==btnback2){ Layout.previous(container); txt2.setText(\}

if(e.getSource()==btn0010){ txt2.setText(\}

38

//取款确定 if(e.getSource()==btnsure1){ if(!txt2.getText().equals(\ money=new Integer(txt2.getText()); } txt2.setText(\ if((money0)==0 && money<=lastmoney && money!=0){ try { Thread.sleep(1000); } catch (InterruptedException e1) { e1.printStackTrace(); } lastmoney=lastmoney-money; lblquok1.setText(\取款成功,您本次的取款数额为\元,是否继续操作?\ Layout.next(container); }else{ JOptionPane.showMessageDialog(null, \您的取款数目不对或余额不足,请重新输入!\取款失败!\ } } if(e.getSource()==btnquok1){ Layout.previous(container); } if(e.getSource()==btnquok2){ JOptionPane.showMessageDialog(null, \凭条已打印好,请收好您的取款凭条\取款成功!\TION_MESSAGE); lblquok1.setText(\凭条已打印!请继续您的操作!\ } if(e.getSource()==btnquok3){ panel3.setVisible(true); panel5.setVisible(false); } if(e.getSource()==btnquok4){ Layout.first(container); } if(e.getSource()==btn4){ panelchangepwd.setVisible(true); panel3.setVisible(false);

39

本文来源:https://www.bwwdw.com/article/8yrd.html

Top