ATM机Java语言程序的设计课程设计报告

上传人:s**** 文档编号:74947434 上传时间:2022-04-14 格式:DOC 页数:30 大小:468KB
收藏 版权申诉 举报 下载
ATM机Java语言程序的设计课程设计报告_第1页
第1页 / 共30页
ATM机Java语言程序的设计课程设计报告_第2页
第2页 / 共30页
ATM机Java语言程序的设计课程设计报告_第3页
第3页 / 共30页
资源描述:

《ATM机Java语言程序的设计课程设计报告》由会员分享,可在线阅读,更多相关《ATM机Java语言程序的设计课程设计报告(30页珍藏版)》请在装配图网上搜索。

1、 . . . Java语言程序设计课程设计报告题 目: ATM机 班 级: 10信息一班 系 部: 信息管理系 专 业: 计算机应用技术 2011年 6 月 25 日ATM机设计报告目录1 概述21.1 问题分析21.2功能22 总体设计33 详细设计31.登录界面Client()类结构介绍:32.卡号生成界面AtmDemo()类结构介绍:33.功能界面Main()类结构介绍:44.存款的界面KeepMoney()和取款的界面GetMoney()结构介绍:45.修改密码界面Change()类结构介绍:57.查询余额界面Yuxia.java()类结构介绍:54 实现51.运行环境52.运行情况抓

2、图55 总结与体会66 参考文献77 附录:程序清单71 概述1.1 问题分析模拟ATM机基本操作功能:存款、取款、余额查询、修改密码等;初始账户10000元;修改密码时必须修改两次,确认后才可使用;取款的款项和存款的款项必须是100的整倍数;1.2功能1)模拟ATM机实现当用户进入登陆页面后,用户需先点击银行开户按钮进行银行开户;2)进入银行开户页面之后,进行填写客户信息,系统会自动生成卡号,信息填写完整后系统会自动保存用户信息在生成的文件中,并返回登陆页面进行登录。3)登陆成功之后进入ATM机操作页面进行存款、取款、余额查询、修改密码,点击一个按钮都会显示出对应的页面。2 总体设计1、Cl

3、ient()类第一个登陆页面主要包括:登陆账号按钮、银行开户按钮、重新登录按钮、退出系统按钮;2、AtmDemo()类第二个登陆页面主要进行用户资料填写主要包括:卡号、密码、确认密码、用户名、性别、存款金额标签;生成卡号、确认开户、取消开户按钮;3、Main()类第二个登陆页面主要设置安放按钮,主要包括:取款、存款、修改密码、查询余额、退出该界面按钮并对所有按钮进行监听;4、GetMoney()类第三个登陆页面主要进行取款设置主要包括:提款金额数目的数字按钮,当点击相应的按钮时,提取金额框显示相应的取款金额;当提款的金额超出卡总金额时,取款失败;5、KeepMoney()类第四个登陆页面主要进

4、行存款设置主要包括:存款金额数目的数字按钮,当点击相应的按钮时,存款金额框显示相应的存款金额;6、Change()类第五个登陆页面主要进行密码修改的设置主要包括:设置“确认”“取消”“返回主页面”三个按钮;两次输入新的密码,当两次密码一样时点击“确认”按钮修改密码成功,第二次进行账户登录时使用修改后的密码7、Yuxia()类第六个登陆页面主要进行余额查询的设置主要包括:当点击“查看余额”按钮时查看存款、取款后卡的总金额,显示在文本框;当点击“返回主页面”时返回Main页面;8、Account()类主要保存文件的卡号,密码和账户金额,对进行数据信息在不同的类调用传递;3 详细设计1.登录界面Cl

5、ient()类结构介绍:主要包括:三个标签:“欢迎登录ATM机”,“卡号”,“密码”两个文本框:JTextField和JPasswordField四个按钮:“登陆账号”,“银行开户”,“重新登录”,“退出系统”对页面使用了空布局。对文本框进行监听,设置卡号只能为数字,且只能输入8位。设置密码框不为空。给四个按钮创建监听ActionListener,四个按钮实现的功能:登陆账号:第一次进入登录界面时,当点击“登录账户”弹出对话框:“请进行银行开户”。重新登录: 当点击“重新登录”按钮,用setText(“”)把文本框和密码框为空。 银行开户: 当点击“银行开户”按钮时,界面跳到银行开户的界面里。

6、 退出系统:当点击“退出系统”时,弹出对话框“确定要退出ATM系统?”点击是,退出系统,点击否,留在该界面。当银行开户成功后,再次输入卡号和密码,如果其中一个或全部错误,弹出对话框:“请核对你的卡号和密码,重新登录”,并不设置文本框为空。2.卡号生成界面AtmDemo()类结果介绍:继承Jframe创建银行卡号开户窗体,创建监听;应用空布局设置JLabel标签,JTextField, JPasswordField,utton,JComboBox复选按钮框在窗体中的位置当点击“生成卡号”按钮时系统会自动生成卡号( inti=(int)(Math.random()*100000000);)对生成的

7、卡号进行数据保存(account)由Account传递到登陆页面,让生成的卡号与登陆的卡号一样在登录页面进行登录操作;设置密码与确认密码框中的容相等,如果不一样提示(“JOptionPane.showConfirmDialog(this,两次填写密码不同,请重新输入正确的密码!,提示,JOptionPane.OK_CANCEL_OPTION );”),对生成的密码进行数据保存(account)让后传递到ATMClient页面进行密码连接;设置存款金额框存款金额为100的整倍数;当点击“取消开户”按钮时,所有文本框容为空;当点击“确认开户”按钮时,如果资料填写不完整,系统进行提示(elseif(

8、jtf1.getText().equals()|jtf2.getText().equals()|jtf3.getText().equals()|s3.equals()|s2.equals() JOptionPane.showMessageDialog(this,开户失败,资料没填写完整!);)反之,页面转到登陆页面;3.功能界面Main()类结构介绍:主要包括:一个标签:“荷塘月色ATM机正在为您服务”五个按钮:“取款”、“存款”、“查询余额”、“修改密码”、“退出该界面”对页面使用了空布局。对前四个按钮进行监听,当点击其中任一个按钮时,进入到该按钮实现功能的界面里,当点击“退出该界面”,弹出

9、对话框“确定返回登录面?” 点击是,退出该界面,点击否,留在该界面。4.存款的界面KeepMoney()和取款的界面GetMoney()结构介绍:主要包括:十个按钮:七个固定存取款钱数的按钮和一个“自定义”(存取款的钱数)按钮,还有“确定”按钮和“返回主页面”的按钮。一个标签:“您提取(存入)的金额数:一个文本框;对页面使用了空布局。给八个存取款的按钮进行监听。实现的功能:当点击七个固定存取款的按钮时,按钮上的钱数显示在文本框中,当点击自定义按钮时,可以在文本框中手动输入钱数。当点击“返回主页面”按钮时,结束该界面的操作,返回Main页面里。文本框: 文本框设置为不可编辑。当点击存取款按钮时,

10、钱数显示在文本框中,但不能手动修改文本框中的容。当点击自定义按钮时,文本框可以手动输入,文本框中输入的存取款的钱数必须是100的倍数,最少为100,最多为5000元,否则弹出对话框进行提醒,存取钱不成功。 自定义一个监听类,对文本框进行监听,自定义输入钱数时,文本框中只能输入数字,且最多可输入四位数。当文本框为空时,点击“确定”按钮,弹出对话框:“请输入存(取)款金额”。在存款KeepMoney.java界面时,当点击“确定”按钮,弹出对话框“您已存款*元,余额为*元”。在取款GetMoney.java界面时,当点击“确定”按钮时,如果账户金额大于或等于提取金额时,弹出对话框“您已取款*元,余

11、额为*元”。如果账户金额小于提取金额时,弹出对话框“余额不足,取钱失败”,并获取余额数,停止金额的运算。以防止取款不成功,但已透支的现象。5. 修改密码界面Change()类结构介绍:继承JFrame创建修改密码窗体,设置窗体的空布局;对确认密码框进行监听和数据传递保存(account.setPwd(s2);)传递到Client()类;当两次输入密码一样时点击“确认”按钮密码修改成功,下次登录使用新密码进行登录。;点击“取消”按钮文本框容消失为空;点击“返回主页面”按钮返回至Main()(else if(e.getSource()=3)new Main();this.setVisible(fa

12、lse););6.查询余额界面Yuxia.java()类结构介绍:创建查询余额窗体,应用空布局设置布局;对按钮创建监听(addActionListener) 当点击“查看余额”按钮时显示卡当前的余额(运用Account类进行数据传递实现(jtf1.setText(account.getCountmoney()+);)4 实现1. 运行环境 MyEclipse6.52. 运行情况抓图1 2 3 4 75 总结与体会此次实训基本把我们本学期所学的容进行综合应用,让我们更加容易简单的了解体验到了未来工作的一般状况,锻炼了我们的实际操作能力,同时也在一定程度上增加了同学们对Java语言学习的信心,一些

13、简单的小游戏,通过运用自己所学也是可以实现的,让我们不在对编程感觉那么神秘。团队合作与交流很重要,“团结就是力量”在本次项目开发中真的体会得到,在做项目时,小组成员要知道本小组所做项目的基本构想框架,要做什么、实现什么。如果有自己的想法就要和自己的伙伴进行交流。6 参考文献1艳铭,Java程序设计,经贸职业学院:ATM机视频提示,2011.62网络资源:.toedu.org/3Java程序设计精讲,:清华大学,2010.97 附录:程序清单1.Client.java/ATM机的登录界面package client;import javax.swing.*;import client.GetMo

14、ney.myKeyListener;import java.awt.*;import java.awt.event.*;import .URL;publicclass Client extends JFrame implements ActionListenerJLabel jl1,jl2,jl3;JLabel jl;/添加图片的标签JTextField jtf;JPasswordField jpf;utton 1,2,3,4;static Account account;public Client(Account account)super(ATM-Client);this.account=

15、account;setLayout(null);jl1=new JLabel(欢迎进入“荷塘月色ATM 机”);Font f=new Font(华文新,Font.BOLD,24);jl1.setForeground(Color.BLUE);jl1.setFont(f);jl2=new JLabel(卡号:);jl3=new JLabel(密码:);jtf=new JTextField(8);jtf.addKeyListener(new myKeyListener(jtf);jpf=new JPasswordField();1=new utton(登陆账号);1.addActionListene

16、r(this);2=new utton(银行开户);2.addActionListener(this);3=new utton(重新登录);3.addActionListener(this);4=new utton(退出系统);4.addActionListener(this);/添加图片jl= new JLabel(); URL resource = this.getClass().getResource(/images/6.jpg); ImageIcon bgImage=new ImageIcon(resource); /创建图标jl.setIcon(bgImage); jl.setBou

17、nds(0,0,400,400);jl1.setBounds(25, 40, 400, 40);jl2.setBounds(50, 85, 60, 40);jl3.setBounds(50, 150, 60, 40);jtf.setBounds(120, 90,150, 30);jpf.setBounds(120, 155,150,30);1.setBounds(0, 250, 90, 30);2.setBounds(100, 250, 90,30 );3.setBounds(200, 250, 90,30 );4.setBounds(300, 250, 90, 30);this.add(jl

18、1);this.add(jl2);this.add(jtf);this.add(jl3);this.add(jpf);this.add(1);this.add(2);this.add(3);this.add(4);this.add(jl);this.setSize(400,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);publicstaticvoid main(String args) new Client(account);publicvoid actionPerformed(Ac

19、tionEvent e) if(e.getSource()=1)String s1=jtf.getText();String s2=new String(jpf.getPassword();if(account!=null)if(s1.equals(account.ip)&s2.equals(account.pwd)newMain(account);this.setVisible(false);elseJOptionPane.showMessageDialog(this,请核对您的卡号和密码,重新登录);elseif(account=null)JOptionPane.showMessageDi

20、alog(this, 请进行银行开户);elseif(e.getSource()=2)/连接到的AtmDemo.javanew AtmDemo();this.setVisible(false);elseif(e.getSource()=3)jtf.setText();jpf.setText();elseif(e.getSource()=4)/设置4退出系统 int i=JOptionPane.showConfirmDialog(this,您确定要退出ATM机系统?,提示,JOptionPane.YES_NO_OPTION);if(i=1)return;System.exit(0);/创建jtf

21、的监听,使jtf只能输入8个数字,且只能输入数字class myKeyListener extends KeyAdapterprivate JTextField jtf;privateintlength;public myKeyListener(JTextField jtf)this.jtf = jtf;this.length = 8;public myKeyListener(JTextField jtf,int length)this.jtf = jtf;this.length = length;publicvoid keyTyped(KeyEvent e)boolean b = Chara

22、cter.toString(e.getKeyChar().matches(d);if(!b | jtf.getText().length() = length)e.consume(); 2.AtmDemo.java/ATM卡号生成页面 package client;import java.awt.*;import java.awt.event.*;import java.io.*;import .Socket;import java.util.Calendar;import .URL;import javax.swing.*;publicclass AtmDemo extends JFrame

23、 implements ActionListener JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8; JTextField jtf1,jtf2,jtf3; JPasswordField jpf1,jpf2; utton 1,2,3; JComboBox jcb; BufferedReader br; JLabel msg; Account account;inttotalmoney=10000;intmoney;public AtmDemo()super(银行卡号开户);this.setLayout(null);jl1=new JLabel(卡号开户);jl2=

24、new JLabel(卡号:);jl3=new JLabel(密码 :);jl4=new JLabel(确认密码 :);jl5=new JLabel(用户名:);jl6=new JLabel(性别:);jcb = new JComboBox(); jcb.addItem(男);jcb.addItem(女);jl7=new JLabel(存款金额:);1=new utton(生成卡号);2=new utton(确认开户);3=new utton(取消开户);jtf1=new JTextField(16);jtf1.setEditable(false);/设置文本框不可见jtf2=new JTex

25、tField(4);jtf3=new JTextField();jpf1=new JPasswordField(6);jpf2=new JPasswordField(6);msg=new JLabel();msg.setForeground(Color.RED);/监听1.addActionListener(this);2.addActionListener(this);3.addActionListener(this);jtf3.addKeyListener(new myKeyListener(jtf3);jl1.setForeground(Color.RED);jl1.setFont(ne

26、w Font(宋体, Font.PLAIN, 40);/添加图片jl8= new JLabel(); URL resource = this.getClass().getResource(/images/8.jpg); ImageIcon bgImage=new ImageIcon(resource); /创建图标jl8.setIcon(bgImage); jl8.setBounds(0,0,400,400);jl1.setBounds(105, 10, 225, 41);/卡号开户jl2.setBounds(40, 60, 81, 18);/卡号1.setBounds(297, 60, 91

27、, 18);/生成卡号jl3.setBounds(40, 90, 81, 18);/密码jl4.setBounds(40, 120, 81, 18);/确认密码jl5.setBounds(40, 150, 81, 18);/用户名jl6.setBounds(40, 180, 81, 15);/性别jcb.setBounds(100, 180, 110, 18);/复选按钮jl7.setBounds(40, 210, 81, 15);/存款金额jtf1.setBounds(100, 60, 190, 18);/卡号框jpf1.setBounds(100, 90, 170, 18);/密码框jpf

28、2.setBounds(100, 120, 150, 18);/确认密码框jtf2.setBounds(100, 150, 130, 18);/用户名框jtf3.setBounds(100, 210, 90, 18);/存款金额框2.setBounds(80, 300,100, 25);/确认开户3.setBounds(230, 300, 100, 25);/取消开户msg.setBounds(150,260,270,60); add(1); add(2); add(3); add(jcb); add(jl1); add(jl2); add(jl3); add(jl4); add(jl5);

29、add(jl6); add(jl7); add(jpf1); add(jpf2); add(jtf1); add(jtf2); add(jtf3); add(msg); add(jl8);this.setSize(400,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true); publicstaticvoid main(String args)new AtmDemo(); publicvoid actionPerformed(ActionEvent e) String id1=jtf1.ge

30、tText();/卡号String s1=new String(jpf2.getPassword();/确认密码int mone=money;/生成的金额数account=new Account(id1,s1,mone);/把生成的卡号、确认密码、生成金额数保存在account类try/创建文件 File f=new File(message.txt);if(e.getSource()=1)/生成卡号jtf1.setEditable(true);int i=(int)(Math.random()*100000000);jtf1.setText(Integer.toString(i);jtf1.

31、setEditable(false);msg.setText();/消失信息提示 JOptionPane.showMessageDialog(this,卡号已生成,请记住卡号,以便登陆!);elseif(e.getSource()=2) /确定开户String s3=new String(jpf1.getPassword();String s2=new String(jpf2.getPassword();if(!s3.equals(s2)JOptionPane.showConfirmDialog(this,两次填写密码不同,请重新输入正确的密码!,提示,JOptionPane.OK_CANCE

32、L_OPTION );jpf2.setText(null);return;elseif(jtf1.getText().equals()|jtf2.getText().equals()|jtf3.getText().equals()|s3.equals()|s2.equals() JOptionPane.showMessageDialog(this,开户失败,资料没填写完整!); elseif(Integer.parseInt(jtf3.getText()%100!=0) JOptionPane.showMessageDialog(this,存款金额必须是100的倍数!);jtf3.setTex

33、t(); elseif(!jtf1.getText().equals()&!jtf2.getText().equals()&!jtf3.getText().equals()&!s3.equals()&!s2.equals()money=totalmoney+(Integer.parseInt(jtf3.getText(); JOptionPane.showMessageDialog(this,您已开户成功,卡金额为:+money);account.setCountmoney(totalmoney+(Integer.parseInt(jtf3.getText();new Client(accou

34、nt);this.setVisible(false); /写入客户信息保存在message.txt中try FileWriter fw = new FileWriter(f); BufferedWriter bw=new BufferedWriter(fw); String s = 卡号:+jtf1.getText()+t+用户名:+jtf2.getText()+t +密码:+account.getPwd(); bw.write(s); bw.newLine(); bw.close(); fw.close(); catch(IOException ex) ex.printStackTrace(

35、); elseif(e.getSource()=3)jpf1.setText(null);jpf2.setText(null);jtf1.setText(null);jtf2.setText(null);jtf3.setText(null);msg.setText(您已成功取消开户!); catch (Exception ex)/只允许输入数字的监听器class myKeyListener extends KeyAdapterprivate JTextField jtf;privateintlength;public myKeyListener(JTextField jtf)this.jtf

36、= jtf;this.length = 15;public myKeyListener(JTextField jtf,int length)this.jtf = jtf;this.length = length;publicvoid keyTyped(KeyEvent e)boolean b = Character.toString(e.getKeyChar().matches(d);if(!b | jtf.getText().length() = length)e.consume(); 3.Main.java/主要包括:存款、取款、修改密码、查询余额等按钮package client;imp

37、ort java.awt.*;import java.awt.event.*;import .URL;import javax.swing.*;publicclassMainextends JFrame implements ActionListenerJLabel jl1;JLabel jl;utton 1,2,4,5,6;static Account account;publicMain(Account account)super(ATM机主页面);this.account=account;setLayout(null);jl1=new JLabel(荷塘月色ATM机正在为您服务.);jl

38、1.setBounds(50, 0,300, 80);Font f=new Font(华文琥珀,Font.BOLD,20);jl1.setForeground(Color.BLUE);jl1.setFont(f);1=new utton(取款);1.addActionListener(this);2=new utton(查询余额);/设置初始账户金额为1000元2.addActionListener(this);4=new utton(存款);4.addActionListener(this);5=new utton(修改密码);5.addActionListener(this);6=new

39、utton(退出该界面);6.addActionListener(this);/添加图片jl= new JLabel(); URL resource = this.getClass().getResource(/images/6.jpg); ImageIcon bgImage=new ImageIcon(resource); /创建图标jl.setIcon(bgImage); jl.setBounds(0,0,400,400);1.setBounds(10,110 ,140 ,40 );2.setBounds(10,190 ,140 ,40 );4.setBounds(200, 110, 14

40、0, 40);5.setBounds(200, 190, 140,40 );6.setBounds(100, 270,140 ,40 );this.add(jl1);this.add(1);this.add(2);this.add(4);this.add(5);this.add(6);this.add(jl);this.setSize(400,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);publicvoid actionPerformed(ActionEvent e) if(e.g

41、etSource()=1)new GetMoney(account);this.setVisible(false);elseif(e.getSource()=2)new Yuxia(account);this.setVisible(false);elseif(e.getSource()=4)new KeepMoney(account);this.setVisible(false);elseif(e.getSource()=5)new Change(account);this.setVisible(false);elseif(e.getSource()=6)int i=JOptionPane.s

42、howConfirmDialog(this,确定要返回登陆界面?,提示,JOptionPane.YES_NO_OPTION );if(i=1)return;new Client(account);this.setVisible(false);publicstaticvoid main(String args) newMain(account);4.GetMoney.java/取款页面package client;import java.awt.*;import javax.swing.*;import java.awt.event.*;import .URL;publicclass GetMo

43、ney extends JFrame implements ActionListenerutton 1,2,3,4,5,6,7,8,9,10;JLabel jl;JLabel jl1;JTextField jtf;inta=0;static Account account;public GetMoney(Account account)super(提取现金);this.account=account;setLayout(null);1=new utton(100);1.addActionListener(this);2=new utton(300);2.addActionListener(th

44、is);3=new utton(500);3.addActionListener(this);4=new utton(1000);4.addActionListener(this);5=new utton(1500);5.addActionListener(this);6=new utton(3000);6.addActionListener(this);7=new utton(自定义);7.addActionListener(this);8=new utton(5000);8.addActionListener(this);9=new utton(确定);9.addActionListene

45、r(this);10=new utton(返回主页面);10.addActionListener(this);jl=new JLabel(您提取的金额数为:);jtf=new JTextField(4);jtf.addKeyListener(new myKeyListener(jtf);/设置文本框不可手动输入jtf.setEditable(false);/添加图片jl1= new JLabel(); URL resource = this.getClass().getResource(/images/6.jpg); ImageIcon bgImage=new ImageIcon(resour

46、ce); /创建图标jl1.setIcon(bgImage); jl1.setBounds(0,0,400,400);1.setBounds(20, 40, 100,40 );2.setBounds(20, 90,100 ,40 );3.setBounds(20,140 ,100 ,40 );4.setBounds(280,40 ,100 ,40 );5.setBounds(280,90 ,100 ,40 );6.setBounds(280,140 ,100 ,40 );7.setBounds(20, 190, 100, 40);8.setBounds(280, 190, 100, 40);9

47、.setBounds(50,290,100, 40);10.setBounds(250,290,100,40 );jl.setBounds(20, 240, 150,40 );jtf.setBounds(180, 250, 100,20 );this.add(1);this.add(2);this.add(3);this.add(4);this.add(5);this.add(6);this.add(7);this.add(8);this.add(9);this.add(10);this.add(jl);this.add(jtf);this.add(jl1);this.setSize(400,

48、400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);publicvoid actionPerformed(ActionEvent e) if(e.getSource()=1)jtf.setText(1.getText();jtf.setEditable(false);elseif(e.getSource()=2)jtf.setText(2.getText();jtf.setEditable(false);elseif(e.getSource()=3)jtf.setText(3.getTex

49、t();jtf.setEditable(false);elseif(e.getSource()=4)jtf.setText(4.getText();jtf.setEditable(false);elseif(e.getSource()=5)jtf.setText(5.getText();jtf.setEditable(false);elseif(e.getSource()=6)jtf.setText(6.getText();jtf.setEditable(false);elseif(e.getSource()=7)jtf.setText();jtf.setEditable(true);else

50、if(e.getSource()=8)jtf.setText(8.getText();jtf.setEditable(false);elseif(e.getSource()=10)newMain(account);this.setVisible(false);elseif(e.getSource()=9)if(jtf.getText().equals()JOptionPane.showMessageDialog(this,请输入取钱金额! );return;elseif(jtf.getText().charAt(0) = 0)JOptionPane.showMessageDialog(this

51、,请正确输入取钱金额! );jtf.setText();return;elseif(Integer.parseInt(jtf.getText()%100!=0)JOptionPane.showMessageDialog(this,请输入100的整倍钱数! );jtf.setText();elseif(Integer.parseInt(jtf.getText()5000)JOptionPane.showMessageDialog(this,最多取款5000元! );jtf.setText();elseif(jtf.getText()!=null)String s=jtf.getText();in

52、t a=Integer.parseInt(s);int b=account.getCountmoney();if(ba|b=a)account.setCountmoney(b-a);JOptionPane.showMessageDialog(this,您已取款:+s+元。您余额为:+account.getCountmoney()+元);jtf.setText();elseif(ba)JOptionPane.showMessageDialog(this, 余额不足,取钱失败);account.setCountmoney(account.getCountmoney();publicstaticvo

53、id main(String args) new GetMoney(account);/创建jtf的监听,使jtf只能输入4个数字,且只能输入数字class myKeyListener extends KeyAdapterprivate JTextField jtf;privateintlength;public myKeyListener(JTextField jtf)this.jtf = jtf;this.length = 4;public myKeyListener(JTextField jtf,int length)this.jtf = jtf;this.length = length

54、;publicvoid keyTyped(KeyEvent e)boolean b = Character.toString(e.getKeyChar().matches(d);if(!b | jtf.getText().length() = length)e.consume(); 5.KeepMoney.java/存款页面package client;import java.awt.*;import javax.swing.*;import java.awt.event.*;import .URL;publicclass KeepMoney extends JFrame implements

55、 ActionListenerutton 1,2,3,4,5,6,7,8,9,10;JLabel jl;JLabel jl1;JTextField jtf;static Account account;public KeepMoney(Account account)super(存款业务);this.account=account;setLayout(null);1=new utton(100);1.addActionListener(this);2=new utton(300);2.addActionListener(this);3=new utton(500);3.addActionLis

56、tener(this);4=new utton(1000);4.addActionListener(this);5=new utton(1500);5.addActionListener(this);6=new utton(3000);6.addActionListener(this);7=new utton(自定义);7.addActionListener(this);8=new utton(5000);8.addActionListener(this);9=new utton(确定);9.addActionListener(this);10=new utton(返回主页面);10.addActionListener(this);jl=new JLabel(您存入的金额为数:);jtf=new JTextField(4);jtf.addKeyListener(new myKeyListener(jtf);jtf.setEditable(false);/添加图片jl1= new JLabel(); URL resource = this.getClass().getResource(/images/6.jpg); ImageIcon bgImage=new ImageIcon(resource); /创建图标jl1.setIcon(bg

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!