ATM柜员机模拟实现_第1页
ATM柜员机模拟实现_第2页
ATM柜员机模拟实现_第3页
ATM柜员机模拟实现_第4页
ATM柜员机模拟实现_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 ATM柜员机模拟实现ATM柜员机模拟实现 摘要计算机科学技术的发展不仅极大地促进了整个科学的发展,而且明显加快了经济信息化和社会信息化的进程。金融业ATM取款机的诞生不仅是世界金融行业中的一大进步,更是其发展历史性的转折点。目前国内的银行大力发展银行自动取款机(ATM),以提高工作效率和降低成本。全文共分为绪论、课题要求及分析、 系统需求分析、系统设计、系统实现与测试、课程设计总结六个部分,利用JAVA语言强大功能,并具有面向对象开发等的特点,联系实际ATM应用界面,以win8操作系统后台开发出了一套自动取款机系统。在此论文中ATM柜员机模拟系统主要是由各个Windows窗口组成,它具有登录

2、页面、选择服务、存取款、查询余额、修改密码和退卡等功能,它的各种按钮的事件和功能能够实现模拟ATM柜员机的基本要求。完成整个程序设计之后,经过测试表明该ATM柜员机模拟系统运行稳定且各项功能都能正确运行,达到预期的要求。 关键词:ATM柜员机;存取款;查询;JAVA语言SIMULATION OF ATM TELLER MACHINES TO ACHIEVEABSTRACT The development of computer science and technology not only greatly enhance the development

3、of science, but also significantly speeds up the information of the economy and society. The birth of the financial industry ATM machine is not only a great progress of world financial industry, is a turning point in the deve

4、lopment history of. At present the domestic bank developing bank automatic teller machine(ATM), and to improve the work efficiency and reduce cost. The full text is divided into introduction, the requirements of the project and analysis, system requi

5、rements analysis, system design, system implementation and testing, curriculum design is summarized in six parts, the use of JAVA language and powerful function, and has the characteristic of object-oriented development, contact the actual&

6、#160;ATM application interface, based on win8operating system backstage developed an automatic teller machine system. In this paper the ATM teller machine simulation system is mainly composed of various Windows window, it has the login

7、 page, select a service, withdrawals,balance inquiries, modify passwords and other functions button back card, itsevents and functions can simulate the ATM machine to the basic requirements. After completing the design of the whole pro

8、cedure, after testing showed that the ATM teller machine simulation system is stable in operation and the variousfunctions are correct operation, to achieve the desired requirements.Key words: ATM machine;  Deposit;  Query;  JAVA

9、language目 录1 绪论.1 1.1 课题背景.1 1.2 课题目的.12 课题要求及分析.2 2.1 题目及要求.2 2.2 操作环境.2 2.3 开发工具.33 系统需求分析.33.1 功能需求分析.33.2 其他需求分析.34 系统设计.44.1 总体设计.44.2 界面设计.54.3 功能模块设计.6 4.3.1 登陆页面模块设计.6 4.3.2 选择服务模块设计.7 4.3.3 取款模块设计.9 4.3.4 修改密码模块设计.10 4.3.5 退卡模块设计.114.4 异常处理情况说明.115 系统实现与测试.126 用户使用说明.177 课程设计总结.19参考文献.20附录.

10、211 绪论1.1 课题背景ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。随着我国金融电子化建设的深入发展和银行客户对金融服务质量要求的提高,自动柜员(ATM机)在金融行业的应用越来越广泛,自动柜员机(ATM机)在拉近客户与银行之间的距离,扩展营业网点,改善用卡环境,提供全天候、全方位的金融服务,降低经营成本,提高金融行业的服务质量和综合竞争实力等方面正发挥着不可替代的作用。同时,随着国内银行机构的大量增加,我国的银行业面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理,提高银行的工作效率和业务竟争能力是摆

11、在各家银行面前的一个迫切需要解诀的问题。Java是一个广泛使用的编程语言,是一种新的计算概念。1995年Java的诞生让全世界的程序员为之疯狂。与以往的任何一种语言相比Java都有着无可比拟的优势。首先,Java是一种简单、面向对象、分布式、解释、健壮、安全、结构中立、可移植、高效能、动态的语言。目前,Java已得到了全世界主要计算机软硬件厂商的支持,在计算机领域中得到了广泛应用。本系统选题为基于Java程序设计的ATM柜员机模拟系统,是模拟银行存取款的管理。设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有要有良好的容错性,在出现误操作时能尽量

12、及时地给出警告,以便用户及时地改正。鉴于本系统的特殊性,还需要本程序有良好的保密性。1.2 课题目的对用户来说,自动柜员机(ATM机)的诞生,使原来必须到银行柜台办理的账务查询、转账等业务,可以在大街小巷的固定取款机前进行办理。对银行来说,自动柜员机(ATM机)的开通,将大大提高工作效率,在方便用户的同时可以节省大量的柜台服务为人员,从而降低生产经营成本。同时,学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。2 课题要求与分析

13、2.1 题目及要求课题描述:基于Java程序设计的ATM柜员机模拟系统,ATM柜员机模拟系统要求是由各个Windows窗口组成,它由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能能够实现模拟ATM柜员机的基本要求。基本要求:(1)实时性好、灵活性强、易于不同年龄阶段的人操作;(2)以Windows窗口形式显示,标题栏为ATM柜员机名称;(3)用户界面窗口右上角有最小化按钮、最大化按钮、关闭按钮;(4)不同的界面窗口中有不同的按钮和选择菜单。实现提示:(1)用户界面设计为菜单方式。程序运行用户登录后,显示如下功能菜单: 1.存款;2.取款;3.查询余额;4.修

14、改密码;5.退出(2)用户根据自己的需求选择相应数字,程序就执行相应的功能并显示下一级菜单,直至用户单击【确定】退出界面。 2.2 操作环境(1) Windows 8系统(2) MyEclipse 编译环境 (3) Wps 20132. 3 开发工具JAVA语言3 概要设计3.1 功能需求分析ATM柜员机模拟系统的主要功能如下所述:(1) 要求使用图形用户界面;(2) 当输入给定的卡号和密码(初始卡号为201253100226和密码为 1314521)时,系统能登录进入ATM柜员机模拟系统;(3) 用户可以按照以下流程进行操作:l 查询余额:初始余额为60000元;l ATM存款:不能出现负存

15、款;l ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金 额不允许透支;l 修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况 下才可以成功修改密码。3.2 其他需求分析性能描述:ATM柜员机模拟系统实时性好、灵活性强、易于不同年龄阶段的人操作。设计约束:开发工具:MyEclipse运行环境:Windows XP 、Window 7、Window 8能实现用户所定义的各项需求界面要求:以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。系统流程: 1. 首先来到“欢迎使用ATM机!

16、 ”登录页面,输入卡号和密码。 2. 然后进入选择服务模块。3. 用户根据自己的需要选择相应的的功能。4. 用户可根据相应的功能可任意输入一些测试数据。5. 直到用户单击【确定】菜单退出页面。4 系统设计4.1 总体设计根据课程设计的要求,为了让系统设计的思路清晰,我所设计的ATM柜员机模拟系统主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由存款模块、取款模块、查询余额模块、修改密码模块、退卡模块组成。该系统主要功能模块的流程图如下: 登录页面模块 选择服务模块存 款模块取 款模块查询余额模块修改密码模块退卡模块4.2 界面设计ATM柜员机模拟系统的界面应该要简单明了、思路清晰,

17、当然界面样式美观、人性化就更好了。本次课程设计的界面主要是由窗体组成,操作简单,而每一个窗口则执行相应的功能,一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。本次课程设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。(1)窗体的设计窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。相应源代码为:WindowBox(String s,Account act)super(“ATM柜员机”); 、Selecti

18、on(String s,Account act) super(s);向Frame窗口中添加组件使用add( )。例如:button1 = new Button("存款");p1.add(button1);this.add(p1);每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。Frame也可以引发WindowsEvent类代表的窗口事件。相应源代码为:a

19、ddWindowListener(new WindowAdapter() /窗口侦听器,以从此窗口接收窗口事件public void windowClosing(WindowEvent e) /处理窗口关闭事件 System.exit(0);); (2)窗体的主要结构的设计本次课程设计窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。比如说报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和文本框、标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口的监听者,然后为监听

20、者定义actionPerformed(ActionEvent e)方法,在这个方法中调用e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。4.3 功能模块设计4.3.1 登陆页面模块设计 平常与ATM柜员机打交道比较多的也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。本次课程设计定义了文本框累的对象tf1,tf2。主要是用于输入单行的文本;文本区调用public String getText()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡

21、号错误的警告框,并用dispose()关掉窗口。此模块相应的部分源代码为:public void actionPerformed(ActionEvent e)Account act;act=new Account("201253100226","DuShuai","1314521",60000);/初始化 /*选择各种服务*/if(e.getSource() = button1)String number1,number2;/输入的两个卡号和密码的变量number1=tf1.getText().toString();number2 =

22、 new String(tf2.getPassword() ;/*判断两次输入的卡号和密码是否正确*/if(act.getCode().equals(number1)&&(act.getPassword().equals(number2)dispose();new Selection("选择服务",act);elseJOptionPane.showMessageDialog(this, "密码或帐号错误!","账户提示信息",JOptionPane.ERROR_MESSAGE );dispose();new Windo

23、wBox("ATM") ;if(e.getSource()=button2)System.exit(0);dispose();/退出4.3.2 选择服务模块设计 在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法public void actionPerformed(ActionEvent e)中的参数e,监视器就会知道所发生的事件,对此事件进行处理。其中的部分源代码为:p.add(new Label(

24、"请选择你要的服务");this.add(p); /*各种服务功能*/buttonCUN = new Button(" 存 款 ");p1.add(buttonCUN);this.add(p1);buttonQU = new Button(" 取 款 ");p2.add(buttonQU);this.add(p2);buttonCHA = new Button(" 查询余额 ");p3.add(buttonCHA);this.add(p3);buttonGAI = new Button(" 修改密码 &q

25、uot;);p5.add(buttonGAI);this.add(p5);buttonTUI = new Button(" 退 出 ");p4.add(buttonTUI);this.add(p4);this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););buttonCUN.addActionListener(this);buttonQU.addActionListener(this);buttonCHA.addActionListe

26、ner(this);buttonTUI.addActionListener(this);buttonGAI.addActionListener(this);setBounds(150,150,300,200);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=buttonCUN)/存款dispose() ;new SetBalance("存款款",act);else if(e.getSource()=buttonQU)/取款dispose();new

27、GetBalance("取款",act);else if(e.getSource()=buttonCHA)/查询余额dispose();new Query("查询余额",act);else if(e.getSource()=buttonTUI)/退出System.exit(0);dispose();else if(e.getSource()=buttonGAI)/修改密码dispose();new ChangePassword("修改密码",act);4.3.3 取款模块设计在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和

28、一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,否则就会弹出报错的窗口。其部分源代码为:public String withdrawMoney(double money)String str = null ; if(money<=0) str = "取款数目须是正数!" else if(getMoney()<0)/判断余额是否为负 str="余额为负数!" else if(money<=getMoney()

29、if(money%100!=0)|(money>=5000)/取钱数为100的倍数或不大于5000 str= "取款数目须是一百的整数倍!" else setBalance(money); str = "取款成功:余额为"+getMoney(); else str = "余额不足!" return str ;4.3.4 修改密码模块设计 在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。在修改密码时用到的部分源代码为:/*

30、判断旧密码是是否正确*/if(pwd2.equals(pwd1)if(pwd3.equals(pwd4)/判断两次输入的新密码是个匹配act.changePassword(pwd3);/启用新的密码dispose();JOptionPane.showMessageDialog(this, "修改密码成功!");new Selection("选择",act);/返回选择服务窗口elsethis.setVisible(true); dispose(); JOptionPane.showMessageDialog(this, "两次输入要修改的密码不

31、同,更新密码失败!"); new Selection("选择",act); elsethis.setVisible(false);dispose();JOptionPane.showMessageDialog(this, "输入密码错误,更新密码失败!"); new Selection("选择",act); 4.3.5 退卡模块设计 在退卡模块设计中,这个方法就更加的简单了,它只是用了以下: if(e.getSource()=buttonTUI)/退出System.exit(0);dispose();4.4 异常处理情况说明

32、(1)打开、保存文件时的异常处理 需要处理的异常:IOException(2)数据库访问时的异常处理 需要处理的异常:SQLException(3)加载类时的异常处理 需要处理的异常:ClassNotFindException,当应用程序试图使用Class类中的forName方法通过字符串名加载类时,但是没有找到具有指定名称的类的定义。(4)加载URL时的异常 需要处理的异常:MalformedURLException,抛出这一异常指示出现了错误的 URL。或者在规范字符串中找不到任何合法协议,或者无法分析字符串。5 系统实现与测试1. 登录模块页面的实现与测试打开MyEclipse,编译运行

33、程序后,将会看到如下的界面图1,如果输入的密码或卡号不正确的话就会报图2的错误。图1 主界面登陆页面图2 输入错误12. 选择服务模块页面的实现与测试当输入的密码和卡号正确,单击确定后就会进入到选择服务的界面,如图3所示。然后就可以选择所需要的服务。图3 选择服务界面(1)存款模块页面的实现与测试 图4 存款界面(2) 取款模块页面的实现与测试 图5 取款界面当输入的钱数小于100就会报图6的错误如下:图6 输入错误2当输入的钱数不是100的倍数或每一次大于5000时就会报图7的错误如下:图7 输入错误3当输入的钱数为4000时成功取款报图8如下:图8 输入正确(3) 查询余额模块页面的实现与

34、测试图9 查询余额界面(4) 修改密码模块页面的实现与测试图10 修改密码界面经过测试表明该ATM柜员机模拟系统运行稳定且各项功能都能正确运行,所有的功能基本上都实现了,达到预期的要求。6 用户使用说明ATM柜员机主要用途1. 能够实现用户登录的功能;2. 能够实现用户存款的功能;3. 能够实现用户取款的功能;3. 能够实现用户查询余额的功能;4. 能够实现用户修改密码的功能;5. 能够实现用户退卡的功能;6. 系统运行稳定能够达到预期的要求。客户使用详细说明1. 首先用户来到“欢迎使用ATM机!用户登录页面;2. 然后进入菜单选择功能模块,用户根据自己的需要选择相应的的功能;3. 用户每键入

35、一个选择功能,程序程序就执行相应的功能;4. 直到用户单击【确定】菜单退出系统。注意事项1. 禁止对程序进行胡乱修改,胡乱在程序中增加或删减代码;2. 使用正确合法的编译器编译程序;3. 按照提示正确的输入相关信息,进行正确的信息处理;4. 在任何一个操作结束后都进行保存,这样才能确保考勤信息的准确无误地记录;5. 妥善保管好存储的信息,每次使用完毕最好将新存储信息拷贝保存,防止丢失;6. 不要轻易将程序拷贝给他人。7 课程设计总结问题与不足1. 没有安装java或者在环境变量中并没有设置path路径javabin目录;2. 使用packet 编译了没有将指定package包在文件中的java

36、文件。2. 在调试过程中出现了很多的语法错误和逻辑错误;3. 在调试过程中,系统不能报错并且不能自动终止系统的运行;4. 程序的输出不够美观,程序的设计还存在不合理的地方,使得程序冗余; 5. 对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;6. 对于正规开发一个系统的流程不熟悉,适应起来比较慢,编写各个模块相对应的操作时,自己感觉难以动手,这表明所学的知识不能灵活运用到实际中。解决办法1. 根据出现问题,自己要清楚的认识到自己的不足之处,需要大量阅读相关的书籍,对于书上以及网站上下载的资料中的Java实例必须有清楚的理解;2. 对于程序运行中出现的错误,及时的询问和求解,多

37、跟精通此方面的老师和同学交流,取其精华;3. 在完成程序的各模块实现与测试后,要认真听取别人对自己课程设计的建议;4. 实际动手能力与系统开发的流程的适应,必须多进行实际的练习与操作,才能有大的进步。感想与体会通过这次的课程设计,我对Java语言的界面设计、异常处理、Awt控件、Swing控件,输入输出流等有了更深的理解,并且使我深刻的认识到实践的重要性,只有理论与实践相结合才能达到很好的学习效果,学到很多东西,同时也发现仅仅书本的知识是远远不够的,需要把知识运用到实践中去,能力才能得到提高。我深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java中的类实现某些基本功能,并学会了自己查询

38、使用类的方法,为以后的面向对象语言的自学奠定了基础。在这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助了。我用了Java外还用了Swing控件。输入输出流等技术。由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提高了我对专业的学习的兴趣,为我以后的学习打下了基础。此外,我还感受到了面向对象语言的类库的强大的功能,掌握了运用JAVA语言中的类实现某些基本功能,并学会了自己查询使用类的方法。 通过这次课程设计,让我对

39、JAVA语言进行程序设计有了更深的了解,在这个过程当中,我学到了很多的知识,同时也感谢我的同学的帮助和指导。在以后的学习当中,我会更加努力的学习好专业知识,并将所学的知识用于实践当中去,以便牢固掌握知识。由于课程设计的题目还有很多,因此没有对其他的题目进行深入的了解而感到遗憾,因此我希望在以后的学习过程中,能够多多的学习这方面没知识来弥补自身不足的地方。参考文献1 印旻,王行言. JAVA语言与面向对象程序设计(第二版)M北京:清华大学出版社,2012.52 黄聪明,精通.JAVA程序设计M北京:清华大学出版社,2004.43 王文涛,袁海燕. JAVA实用程序设计100例M北京:人民邮电出版

40、社,2005.54 雍俊海. JAVA程序设计M北京:清华大学出版社,2006.85 刘宝林. JAVA程序设计与案例M北京:高等教育出版社,2006.116 王萌,刘婧,来宾著.JAVA程序设计M北京 冶金工业出版社,20047 张桂珠,刘丽,陈爱国. JAVA面向对象程序设计M北京:北京邮电大学出版社,2006.108 毕广吉. JAVA程序设计实例教程M北京:冶金工业出版社,2007附录 源程序清单import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;impor

41、t java.io.*;/*登陆页面首窗口*/class WindowBox extends Frame implements ActionListenerBox baseBox,box1,box2;TextField tf1,tf2;Button button1;Button button2;WindowBox(String s)/构造方法super(s); tf1 = new TextField(6); tf2 = new TextField(6);box1= Box.createVerticalBox;box1.add(new Label("请输入你的卡号"); /输

42、入卡号box1.add(Box.createVerticalStrut(8);box1.add(new Label("请输入你的密码");/输入密码box2=Box.createVerticalBox();box2.add(tf1);/box2.add(new TextField(16);box2.add(Box.createVerticalStrut(8);box2.add(tf2);/box2.add(new TextField(16);baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box

43、.createHorizontalStrut(10);baseBox.add(box2);add(baseBox);button1= new Button("确定");/加入按钮button1.addActionListener(this);add(button1);button2 = new Button("退卡");/退卡按钮button2.addActionListener(this);add(button2);setLayout(new FlowLayout();/*监听器*/this.addWindowListener(new WindowAd

44、apter()public void windowClosing(WindowEvent e)System.exit(0););setBounds(120,125,200,175);setVisible(true);public void actionPerformed(ActionEvent e)Account act; String card; String pwd;act=new Account("000000","Devil","123456",50000);/初始化 /*选择各种服务*/if(e.getSource() =

45、button1)String number1,number2;/输入的两个卡号和密码的变量 number1=tf1.getText();number2=tf2.getText();/*判断两次输入的卡号和密码是否正确*/if(act.get_Code().equals(number1)&&(act.get_Password().equals(number2)dispose();Selection s = new Selection("选择服务",act);elsedispose();ErrorWarn ew = new ErrorWarn("消息!

46、",act);/报输入密码或卡号不正确if(e.getSource()=button2)System.exit(0);dispose();/退出 /*主函数*/class ATMpublic static void main(String args)new WindowBox("登录页面");/*选择服务*/import java.awt.*;import java.awt.event.*;class Selection extends Frame implements ActionListenerButton button1,button2,button3,bu

47、tton4,button5;Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();Panel p4 = new Panel();Panel p5 = new Panel();Panel p = new Panel();Account act;public Selection()Selection(String s,Account act)super(s);this.act=act;this.setLayout(null);this.setLayout(new GridLayout(6,1);p.add(new

48、Label("请选择你要的服务");this.add(p); /*各种服务功能*/button1 = new Button("存款");p1.add(button1);this.add(p1);button2 = new Button("取款");p2.add(button2);this.add(p2);button3 = new Button("查询余额");p3.add(button3);this.add(p3);button4 = new Button("退出");p4.add(butto

49、n4);this.add(p4);button5 = new Button("修改密码");p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionLis

50、tener(this);setBounds(150,150,200,200);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=button2)/取款dispose();GetBalance gb = new GetBalance("取款",act);if(e.getSource()=button3)/查询余额Query q =new Query("查询余额",act);dispose();else if(e.getSource()

51、=button4)/退出System.exit(0);dispose();else if(e.getSource()=button5)/修改密码ChangePassword cp = new ChangePassword("修改密码",act);dispose();/*class Test4public static void main(String args) Selection s = new Selection("选择");*/*取款功能*/import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;class GetBalance ext

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论