用Java模拟ATM系统_第1页
用Java模拟ATM系统_第2页
用Java模拟ATM系统_第3页
用Java模拟ATM系统_第4页
用Java模拟ATM系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、 Java语言程序设计课程设计题 目 用Java语言模拟ATM系统 院 (系) XXXXX学院 专 业 班 级 12级XXXX班 学 生 姓 名 XXXXXXXXXXXXXXXXX 学 号 设 计 地 点 指 导 教 师 起止时间:2014年6月3日至2014年6月13日Java语言程序设计课程设计任务分配院(系):信息工程学院 教研室:软件教研室课程设计题目用Java语言模拟ATM系统课 程 设 计目的Java语言程序设计课程设计是计算机类专业的集中实践性环节之一,是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是帮助学生全面牢固地掌握课堂教学内容、培养学生分析问题、解决问

2、题的能力进行的一次全面的综合练习。通过结合设计题目进行综合性应用,对所学知识达到融会贯通的程度,对提高学生的综合素质具有重要的意义。1) 掌握Java的语言规范,面向对象的核心概念和特性。2) 掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等。3) 掌握Java应用软件的开发环境和开发过程4)掌握面向对象的思想和程序设计方法。小组成员及任务分配姓名学号承担任务是否组长XX总体结构设计,系统分析,软件的调试与测试,修改密码模块,分配任务是XX取款模块,可行性研究否XX查询模块,界面模块设置否XX存款模块,系统开发方法否XX文档,系统详细调查及提出否目录第一章 ATM系统

3、综述41.1 概述41.2 ATM的发展41.3 ATM取款机系统的影响5第二章 ATM系统开发方法62.1 系统开发方法概述62.2 该系统开发方法6第三章 系统分析73.1 系统初步调查73.2 可行性研究73.3系统详细调查及提出8第四章 系统设计104.1 系统总体结构设计104.2 系统详细设计11系统设置12界面模块设置12第五章 系统实现165.1 开发环境165.2 程序设计与调试16、程序设计16、程序调试17第六章 结束语19参考文献20源代码部分21注:如果想要本程序的完整源代码及JAVA程序请联系作者(邮箱:xuchangup)第一章 ATM系统综述1.1 概述ATM自

4、动取款机是由计算机控制的持卡人自我服务型的金融专用设备。ATM是英文Automatic Teller Machine的缩写。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。同时在制作这个系统的过程中也应用了数据库的知识,这个相对于我们专业来说是比较重要的内容,这个也是这个学期学习的重点知识,同时数据库链接是必须要学会的,因为这个是最核心的内容,培养自己坚实的逻辑表达能力和沟通能力,和培养自己良好的文案能力。掌握ATM取款机的具体工作原理以及java简单系统的设计方法。1

5、.2 ATM的发展众所周知随着信息时代科技的飞速发展和随着全球金融行业的兴起,使用ATM取款机、计算机信息技术以及计算机科学技术的发展,给人们的生活带来了天翻地覆的变化,同时这些技术在人们生活中的运用,随着科学技术的进步,经营方式的转变,处理信息系统的内容和形式也在发生变化。当前,以计算机和通信技术为基础的信息系统正处在蓬勃发展的时期,ATM取款系统可充分利用网络技术和数据库技术的发展,形成一种全新的运作方式。随着因特网的形成和发展,基于网络技术的信息系统除了它传统的功能外,实现了特定地方刷卡消费等。不仅提高了银行的业务处理能力,而且大大的节省了人们取钱所花费的时间和价值;并且在有效防止了一些

6、非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越性。虽然起步较晚,近几年发展却较快,优其是随着微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国信息处理的现代化起了重要的作用。ATM取款系统正在朝着自适应、自学习的方向发展,也就是更好的实现模拟人性化过程。1.3 ATM取款机系统的影响ATM取款机诞生可以说是世界金融行业的一大进步,也是历史性的转折点。ATM自动取款机不仅能提高了银行的业务处理能力,还能大大的节省人们取钱所花费的时间和价值;并且在有效防止了一些非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越性。ATM系统对金融业的变革产生了和正在产

7、生着深远的影响。从现代金融业新概念来看,ATM系统就是电子信息技术在金融业金融管理的一种应用。它避免了对于用户的信息资料、以及资金统计等用人工办理。数据信息处理工作量大,繁琐,数据处理手工操作,工作量大,工作时需实时认真办理,一但出现错误将带来很大的损失。从而解决了用户信息和资金信息的繁杂问题,对于ATM取款系统数据的统计和核实等都是采用卡号进行核对的,进而实现了数据的准确性、完整性、及时性,避免了工作人员和管理员工作时间一长,再进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。同时也得用户可以安全的进行操作,便捷,快速的进行取款以及完成一些商业上的交易,大大提高办公效率,能够及时

8、、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。第二章 ATM系统开发方法2.1 系统开发方法概述软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。开发目标是在规定的投资和时间内,开发出符合用户需求的高质量的软件。任何系统均有其产生、发展、成熟、消亡或更新换代的过程。这个过程称为系统的生命周期。系统生命周期法提供的思路、逻辑、技能、工具与工作规范,是系统开发、处理管理信息系统建设中各类实际问题的重要基础,对复杂系统的建设具有重要的指导意义。系统开发是管理信息系统建设中工作任务最为繁重,也是最重要的一个阶段。从项目开发到结束的整个过程,称为系统开发的

9、生命周期。系统开发的生命周期一般分为系统分析、系统设计和系统实施。结构化生命周期法是一种面向数据流的开发方法。该方法简单实用、应用较广、技术成熟,方法的指导思想是自顶向下、逐步求精,基本原则是动能的分解与抽象,特别适合于数据处理领域的问题,随着开发项目规模的变化,该方法也就暴漏出了它的缺点:(1)对于规模大、特别复杂的项目不太适应(2)难于解决软件重用问题(3)难于适应需求变化问题,难于彻底解决维护问题。2.2 该系统开发方法比较各种开发方法的特点,结合银行取款系统的实际情况,整个系统采用结构化生命周期法,以原型法和面向对象的开发方法作为辅助,即系统总体上采用结构化生命周期法进行系统分析和系统

10、设计,系统实施等步骤采用面向对象方法。本系统开发工具使用的是基于 Java 的可扩展开发平台的Eclipse。第三章 系统分析系统分析是管理系统开发的起始阶段,也是MIS开发工作中最重要的一环。系统分析阶段的主要活动有:系统初步调查、可行性研究、系统详细调查、新系统逻辑方案的提出。系统分析的目标是明确系统开发的目标和用户信息需求,提出系统的逻辑方案。为系统设计做好准备。3.1 系统初步调查系统的初步调查是系统分析阶段的第一项活动,也是系统开发的第一项活动,初步调查的主要目标是从系统分析人中和管理人员的角度看新系统开发有无必要和可能。通过亲身体验总结各银行ATM提款机界面流程,得到本系统开发的主

11、要流程界面(主要功能取款、转账、查询、修改密码等)。并决定亲自开发取款机系统,测试自己水平。3.2 可行性研究可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。实质上就是进行一次简化、压缩了的需求分析、设计过程。可从以下三个方面分析研究每种解决问题的可行性:a.技术可行性:对项目的功能、性能、限制条件进行分析,确定在现有的资源条件下项目是否能实现。(开发的风险、资源的有效性、技术)b.社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。c.经济可行性:进行开发成本

12、的估算以及了解得到效益的评估,确定要开发项目是否值得投资开发。对银行业来说,是靠存款贷款之间的差额来生存的,所以要尽可能的拉拢更多的客户使用本行,ATM取款机是为了能让为客户更便捷的服务,从而更具有吸引力。银行角度出发还是非常还是愿意把一部分资金投入到这方面的。3.3系统详细调查及提出系统详细调查是在可行性研究的基础上进一步对现行系统进行全面、深入的调查和分析,弄清现行系统运行状况,发现其薄弱环节,确保新系统比原系统更有效。详细调查的重点在于对系统的内部情况更详细和具体的了解,从而可以提供在新系统建设时改进或更换的内容。明确用户的信息需求,明确新系统的逻辑功能。主要工作是对用户需求进行进一步调

13、查分析,创建新系统的逻辑模型。逻辑模型主要以数据流程图和数据典为主要描述工具。通过仔细调查得以下功能图和业务流程图:一般登陆模块只输入账号、密码,当然在实际应用中没有要求用户输入账号,这是因为在磁卡上有个感应区,编此模块时加上了验证码。 ATM柜员机模拟系统登录模块输入密码事物模块验证号存款取款余额查询修改密码图3-1 功能图该系统主要实现银行卡用户的存取款,以及进行一些简单的查询和转账业务,同时能够在系统里面进行客户密码的修改,实现简单的机器与客户交互。选择界面(查询、取款、转帐、修改密码、取消)登录界面(卡号、密码、验证码、取消等选项)待机界面(按确定键进入登录界面)密码错误,请从新输入!

14、查询余额修改密码取款存款交易完成点击退出退出程序图3-2 业务流程图:第四章 系统设计系统设计阶段的主要目的是将系统分析所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基本计算机(ATM取款机)与通信系统的物理(技术)方案。系统设计主要包括系统总体结构设计和详细设计。系统设计的依据主要有系统分析的成果、现行技术、用户需求、系统运行环境。4.1 系统总体结构设计 系统总体结构是指整个系统由哪些部分组成,以及各部分在物理上、逻辑上的相互关系,包括硬件部分和软件部分,该设计包括:系统总体布局方案的确定、软件系统总体结构的设计、计算机硬件方案的选择和设计、数据存储的总体设计。根据业务流程图转化为

15、软件的体系结构,进而用软件结构图建立物理模型,得系统活动图,如下:欢迎界面储户登录用户主界面退出系统取款存款修改密码余额查询图4.1.1系统结构图:图4.1.2系统流程图:4.2 系统详细设计详细设计的实现根据结构程序设计原理,将每个模块的功能用相应的标准语句表示出来。包括代码设计、数据库设计、用户界面设计、处理过程设计。代码设计是指把系统管理对象数字化或字符化,便于计算机的处理。遵照代码设计的原则:合理性、简明性、系统性、稳定性、可扩充性、标准化、便于识别和记忆。进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化

16、方法设施数据存储的结构,提高数据的可维护性、数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:系统设置Card表字段信息字段名称类型宽度是否为空卡号cnoint10N账户余额cjineint10N密码cnimaint10N图 4.2.1 账户信息设计表界面模块设置用户界面设计目前已成为评价软件质量的一条重要指标,所谓用户界面是批软件系统与用户交互的接口,通常包括输入、输出设计、人机对话的界面设计。1. 欢迎界面:点击确定按钮进入ATM系统欢迎界面图4.2

17、.1欢迎界面2. 登录模块:登录模块依然采用的是密码验证的方式,需要用户输入卡号、密码和验证码然后点击确认进行验证,程序将根据输入卡号查找密码。第一没有找到提示,输入正确验证码后,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。密码正确继续,否则当输入的次数达到三次时,系统将自动关闭。第二如果没有找到,提示输入账号错误。图 4.2.2登录模块3. 主界面:主界面的设计主要是设计了查询余额、取款、转账、密码更改及退出按钮等ATM的一些标准操作界面。图4. 2.3主界面4. 查询模块:在此模块中,将通过用户所使用的账户编号来进行余额的查询,将显示账户的实际余额,点击“

18、查询”按钮,通过按钮的Action方法进行方法调用,就可以实现查询的功能并把查询到的账户余额显示到界面上。当用户点击“返回”时,程序返回到主界面。 图4. 2.4查询模块5. 修改密码模块:此模块需要用户输入旧密码后,两次输入新密码进行确认,然后,点击确定,修改密码,成功后给出提示信息,其中考虑到一些用户的输入错误问题,做出了一些异常的判断和处理,空输入,输入两次新密码不匹配和原密码不正确等问题。修改更新密码的完成仍然依靠按钮控件的Action事件完成。 图4. 2.5 修改密码模块 6. 存款模块:在此模块,用户根据需要自己输入卡号及欲存金额,这里的设计其实最终归结于具体的SQL语句而言,系

19、统将根据输入的金额修改金额。点击确定按钮提示操作成功。 图4. 2.6 存款模块 7. 取款模块:取款模块是一个相对比较重要的模块,因为ATM机就要的功能就是取款业务,用户选择账户名点击取款金额然后点击取款进行取款操作,所以几个数字按钮的设计比较大,方便用户操作,其中一些提示信息也相应地给出,以防用户误操作。用户可以手动输入取款金额,但每次取款金额必须为100的倍数,总额不超过5000元,且支取金额不允许透支,否则系统报错。图4. 2.7 取款模块第五章 系统实现系统实施是ATM系统开发过程中的最后一个阶段。它的目标是将技术设计转化成物理实现。系统实施阶段的主要任务有:按总体设计方案购置和安装

20、计算机网络系统、建立数据库、编程与调试、整理基础数据、培训操作人员、程序试运行和系统切换。5.1 开发环境(1)、软件开发具的选择本系统采用Java作为编程语言,采用Eclipse软件开发环境,Eclipse对数据库应用的强大支持,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。(2)、数据库管理系统的选择由于本次设计所采用的是MYSQL数据库,这种数据库用来存储少量数据,在设计和实施上有很大的优势,根据之前所做的功能分析,以及ATM柜员机自身所具备的功能。 (3)、开发平台的选择windows 平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和

21、实际情况,选择Windowsxp作为开发测试和运行的平台。5.2 程序设计与调试5.2.1、程序设计程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。本系统中用Eclipse编程工具,采用结构化的编程方法对模块进行程序编写。具体源程序见附页。5.2.2、程序调试软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合

22、设计标准。本系统采用的主要方法如下:单元测试:是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。采用白盒法对各模块进行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。取款模块测试:1.取款之前账户余额:15600:2.取款600:3.系统提示:操作成功。4.再次查询余额:150005.如果输入取款金额不为100的整数倍且超过5000,系统会提示错误6.测试结束第六章 结束语通过java编写简单的ATM登录系统的设计,我们不仅复习了上学期的java编程设计基础知识,并且增强了我们对java语言的领悟和应用,同时也更深刻的懂得了

23、学好学会了并不是代表能够真正的在实践中运用得流畅,这次实践给了我们一个既动手又动脑独立实践的机会,但其中也包含了自我寻找资料的能力和同学间的合作能力。这个系统将理论和实践相结合,提高自己的分析、解决问题的能力,并且让我们明白了计算机的技术一定要从实际出发才能真正的提高自己的能力。经过了一个多月的设计和编写这个系统,我们也认识到了自己的不足和缺点,自己处在什么水平,和同学相比自己的差距,但是我也发现了自己的优点和长处,不管怎么样,通过这次学习,我们懂得了怎样取长补短,充分利用网络资源的重要性。参考文献1 Eric. Java编程思想M. 第4版. 机械工业出版社, 机械工业出版社.2 杜波依斯.

24、 MySQL技术内幕M. 第4版. 人民邮电出版社 , 2011年07月.3 张峋, 杨三成. 关键技术:JSP与JDBC应用详解M.中国铁道出版社, 2010年11月.4 Weiss, MA. 数据结构与算法分析:Java语言描述M. 第2版. 机械工业出版社, 2009年01月.5 Metsker S J. Java设计模式M. 第2版. 电子工业出版社, 2012年09月.6 陈刚Eclipse从入门到精通北京:清华大学出版社, 2005年4月.7清宏计算机工作室.JSP编程技巧. 机械工业出版社, 2004年5月.8萨师煊,王珊.数据库系统概论.高等教育出版社,2002年2月.9 温谦

25、. HTML+CSS网页设计与布局从入门到精通M.人民邮电出版社, 2008年08月.10 刘晓义. XML技术及应用M.哈尔滨工程大学出版社, 2011年06月.11 赵俊峰 等. Java Web应用开发案例教程:基于MVC模式的JSP+Servlet+JDBC和AJAXM. 清华大学出版社, 2012年01月.部分源代码1.初始界面import java.awt.*;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLExcepti

26、on; import java.sql.Statement; import javax.swing.*; import java.awt.event.*; class Panel1 extends JPanel JLabel label1,label2; Panel1() setLayout(new GridLayout(4,1); label1=new JLabel(" "+"欢迎使用银行ATM系统!"); label2=new JLabel(" "+"点击确定按钮进入本系统,点击退出按钮退出本系统"); add

27、(new JLabel(); add(label1); add(label2); add(new JLabel(); class Panel2 extends JPanel JButton button1,button2; Panel2() setLayout(new GridLayout(3,6); button1=new JButton("确定"); button2=new JButton("退出"); add(new JLabel(); add(new JLabel(); add(new JLabel(); add(new JLabel(); ad

28、d(new JLabel(); add(new JLabel(); add(new JLabel(); add(button1); add(new JLabel(); add(new JLabel(); add(button2); add(new JLabel(); add(new JLabel(); add(new JLabel(); add(new JLabel(); add(new JLabel(); add(new JLabel(); add(new JLabel(); class Client extends JFrame implements ActionListener Pane

29、l1 panel1; Panel2 panel2; JFrame frame; Client(String s) super(s); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,1); panel1=new Panel1(); panel2=new Panel2(); con.add(panel1); con.add(panel2); panel2.button1.addActionListener(this); panel2.button2.addActionListener(this); this.

30、setVisible(true); this.pack(); public void actionPerformed(ActionEvent e) if(e.getActionCommand()="确定") this.setVisible(false); new Client00("输入密码"); else if(e.getActionCommand()="退出")this.setVisible(false);System.exit(0); public class bankSystem public static void main

31、(String args) new Client("ATM系统"); 2.登陆模块import java.awt.Color;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLE

32、xception;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;class Panel01 extends JPanel JLabel label1,label2,label3,label4;

33、JPasswordField textA; JTextField textC; static JTextField textB; char t=new char4; Panel01() setLayout(new GridLayout(4,4); for(int i=0;i<4;i+) ti=(char)(Math.random()*26+'a'); String mm=new String(t); label2=new JLabel("请输入卡号:"); label1=new JLabel("请输入密码:"); label3=ne

34、w JLabel();label4=new JLabel("请输入验证码:"); label3.setBackground(Color.white); label3.setForeground(Color.red); textC=new JTextField(10); textC.setForeground(Color.blue); label3.setText(mm); textA=new JPasswordField(6); textA.setEchoChar('*');textB=new JTextField(""); for(in

35、t i=0;i<5;i+) add(new JLabel(); add(label2); add(textB); add(new JLabel(); add(new JLabel(); add(label1); add(textA); add(new JLabel(); add(new JLabel(); add(label4); add(textC); add(label3); class Panel02 extends JPanel JButton button1,button2; Panel02() setLayout(new GridLayout(3,6); button1=ne

36、w JButton("确定"); button2=new JButton("退出"); for(int i=0;i<7;i+) add(new JLabel(); add(button1); add(new JLabel(); add(new JLabel(); add(button2); for(int i=0;i<6;i+) add(new JLabel(); class Client00 extends JFrame implements ActionListener Panel01 panel1; Panel02 panel2; JF

37、rame frame; int i=0,j=0; Client00(String s) super(s); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,1); panel1=new Panel01(); panel2=new Panel02(); con.add(panel1); con.add(panel2); panel2.button1.addActionListener(this); panel2.button2.addActionListener(this); this.setVisible(

38、true);this.pack(); public void actionPerformed(ActionEvent e) char passwords=panel1.textA.getPassword(); if(e.getActionCommand().equals("确定") if(panel1.textC.getText().equals(panel1.label3.getText() heshi(); else JOptionPane.showMessageDialog(frame,"你输入的验证码有,请重新输入。"); else if( e.

39、getActionCommand()="退出") this.setVisible(false); System.exit(0); public void heshi() if(panel1.textA.getText().equals("")|panel1.textB.getText().equals("") JOptionPane.showMessageDialog(frame,"请输入账号、密码!"); return; try Class.forName("com.mysql.jdbc.Driver&

40、quot;); Connection con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/atm", "root","123456"); Statement sql=con.createStatement(); String ql=panel1.textB.getText(); ResultSet rs=sql.executeQuery("select cnima from card where cno="+ql+"");

41、if(rs.next() String qerycmima=panel1.textA.getText(); String s=rs.getString(1); if(qerycmima.equals(s) JOptionPane.showMessageDialog(frame," 连接成功!"); this.setVisible(false); new Client01("ATM系统"); else if(i!=2) i+; j=3-i; JOptionPane.showMessageDialog(frame,"密码有误! 你还有"+

42、j+"次机会,请你再仔细想想."); panel1.textA.setText(""); else JOptionPane.showMessageDialog(frame,"对不起,你输入的密码次数达三次,下次再见。"); System.exit(0); con.close(); elseJOptionPane.showMessageDialog(null," 该用户不存在,重新输入!","警告!", JOptionPane.YES_NO_OPTION); panel1.textA.setTex

43、t(""); panel1.textB.setText(""); panel1.textC.setText(""); return; catch(SQLException g) System.out.println("E Code"+g.getErrorCode(); System.out.println("E M"+g.getMessage(); catch(Exception e) e.printStackTrace(); class bankSystem00 public static v

44、oid main(String args) new Client00("ATM系统"); 3.主界面import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;class Panel

45、03 extends JPanel JButton button1,button2,button3,button4,button5; Panel03() setLayout(new GridLayout(8,6); button1=new JButton("查询余额"); button2=new JButton("取款"); button3=new JButton("存款"); button4=new JButton("退出登录"); button5=new JButton("修改密码"); f

46、or(int i=0;i<7;i+)add(new JLabel(); add(button1);add(new JLabel(); add(new JLabel(); add(button2); for(int i=0;i<8;i+) add(new JLabel(); add(button3);add(new JLabel(); add(new JLabel(); add(button5); for(int i=0;i<17;i+) add(new JLabel(); add(button4); for(int i=0;i<7;i+) add(new JLabel(

47、); class Client01 extends JFrame implements ActionListener Panel03 panel1; JFrame frame; Client01(String s) super(s); Container con=this.getContentPane(); panel1=new Panel03(); con.add(panel1); panel1.button1.addActionListener(this); panel1.button2.addActionListener(this); panel1.button3.addActionLi

48、stener(this); panel1.button4.addActionListener(this); panel1.button5.addActionListener(this); this.setVisible(true);this.pack(); public void actionPerformed(ActionEvent e) if(e.getActionCommand()="取款") this.setVisible(false); new Client02("取款服务"); else if(e.getActionCommand()=&qu

49、ot;查询余额") this.setVisible(false); new Client03("查询余额服务"); else if(e.getActionCommand()="修改密码") this.setVisible(false); new Client05("修改密码服务"); else if(e.getActionCommand()="存款") this.setVisible(false); new Client04("存款服务"); else if(e.getActionCo

50、mmand()="退出登录") this.setVisible(false); new Client00("ATM系统"); class bankSystem01 public static void main(String args) new Client01("用户取款系统"); 4.取款界面import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swin

温馨提示

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

评论

0/150

提交评论