1、/成员方法 double getJine()/定义成员变量金额 return jine;/定义成员方法 void cunkuan(double money)/定义成员变量存款 jine=jine+money;/定义成员方法 void quqian(double money)/定义成员变量取款 jine=jine-money;/定义成员方法 String xiugaim(String mi)/定义成员变量密码 pswf=mi;/定义成员方法 return pswf;2、ATM 柜员机主界面模块设计 主界面的设计,主要有按钮、文本框,组合框,标签,在组合中选择账号,在密码的文本框中输入各个账号所对
2、应的密码,单击登录按钮可以进入选择界面,如果密码错误,就会弹出如图 3的对话框,提示“密码错误,拒绝登录”import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;/导入包 class DENGRU extends JFrame implements ActionListener/导入接口类 JPanel p1,p2,p3;/定义 3 个面板 JLabel l1,l2,l3,l4;/定义 4 个标签 JPasswordField pswf;/定义一个密码文本 JButton
3、 jb1,jb2,jb3;/定义 3个按钮 JTextField jtf1;/定义一个文本框 JComboBox jc1;/定义一个组合框 ImageIcon myimage;/定义导入图片 Container content;/定义一个容器 Guest g=new Guest4;/定义客户类数组 public DENGRU()/布局 g0=new Guest(chengchao,888888,5000);/客户类数组里给的帐号,密码,钱数 g1=new Guest(baijing,888888,5000);g2=new Guest(gaolingling,888888,5000);g3=ne
4、w Guest(zhaofengying,888888,5000);p1=new JPanel();/定义第一个面板 myimage=new ImageIcon(yl1.jpg);/定义填入的图片 l1=new JLabel(myimage);/定义把图片放在标签的上面 p1.add(l1);p2=new JPanel();/定义第二个面板 l2=new JLabel(卡号:);/定义标签 l2 jc1=new JComboBox();/定义组合框 jc1.addItem(chengchao);/组合框里赋值 jc1.addItem(baijing);jc1.addItem(zhaofengy
5、ing);jc1.addItem(gaolingling);jc1.setSelectedIndex(0);/组合框里的下标从 0 开始 jc1.setEditable(true);/里面还可以输入 l3=new JLabel(密 码:/定义标签 l3 pswf=new JPasswordField(12);/定义密码文本 l4=new JLabel(如果没有账号请注册);/定义标签 l4 jb3=new JButton(注册);/添加注册按钮 p2.add(l2);/把它们分别镶在面板上 p2.add(jc1);p2.add(l3);p2.add(pswf);p2.add(l4);p2.ad
6、d(jb3);p3=new JPanel();/定义第三个面板 jb1=new JButton(登录);/定义按钮登录 jb1 jb1.addActionListener(this);/jb1 申请监听 jb2=new JButton(注销);/定义按钮注销 jb2 jb2.addActionListener(this);/jb2 申请监听 p3.add(jb1);/把它们添加到 p3 面板里 p3.add(jb2);content=this.getContentPane();/布局定义 content.setLayout(new BorderLayout();content.add(p1,B
7、orderLayout.NORTH);/定义顶部为面板 p1 content.add(p2,BorderLayout.CENTER);/定义中部为面板 p2 content.add(p3,BorderLayout.SOUTH);/定义底部为面板 p3 this.pack();this.setTitle(ATM 柜员机);/定义为窗口名称 this.setSize(600,300);/定义窗口的大小 this.setResizable(false);this.show();/显示 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/关闭、退出
8、 public void actionPerformed(ActionEvent e)/监听类 String x=jc1.getSelectedItem().toString();/把 jc1的值强制转换成字符 if(e.getSource()=jb1)/如果点击是 jb1 按钮就进入 For for(int i=0;i4;i+)/判断名字在数组的位置 if(x.equals(gi.zh)/检查到开始判断是否匹配 if(pswf.getText().equals(gi.pswf)/名字匹配成功后判断密码是否成功 new KQ(gi);/密码真确后进入 KQ的界面 setVisible(fals
9、e);else JOptionPane.showMessageDialog(this,密码错误,拒绝登陆);/密码错误弹出提示密码错误 else System.exit(0);/注销事件退出 public static void main(String args)/定义的 MAIN,才能进入。new DENGRU();图 1 主界面 图 2 密码输出错误提示栏 3、选择界面模块设计 在选择模块服务中,有各种 ATM 的服务功能,只要在用户该界面中选择按钮,它会弹出各个相应的界面,其中的代码为:import javax.swing.*;public class KQ extends JFrame
10、 implements ActionListener/导入接口类 JPanel p1,p2,p3;/定义 3 个面板 JLabel l1;/定义 1 个标签 JButton jb1,jb2,jb3,jb4,jb5;/定义 5 个按钮 ImageIcon myimage;/定义一个容器 Guest key;/定义客户类传从参数 key public KQ(Guest key)this.key=key;/把 key 传到顶层容器 p1=new JPanel();/定义第二个面板 jb1=new JButton(ATM 取款);/定义 jb1 按钮 ATM 取款 jb1.addActionListe
11、ner(this);/jb1 申请监听 jb2=new JButton(ATM 存款);/定义 jb2 按钮 ATM 存款 jb2.addActionListener(this);/jb2 申请监听 jb3=new JButton(查询余额);/定义 jb3 按钮查询余额 jb3.addActionListener(this);/jb3 申请监听 jb4=new JButton(修改密码);/定义 jb4 按钮修改密码 jb4.addActionListener(this);/jb4 申请监听 p2.add(jb1);p2.add(jb2);p2.add(jb4);/定义第三个面板 jb5=n
12、ew JButton(退出);/定义 jb5 按钮退出 jb5.addActionListener(/定义一个匿名类 new ActionListener()public void actionPerformed(ActionEvent event)System.exit(0);/退出登陆 );p3.add(jb5);this.setTitle(进入界面);/定义为窗口名称 this.setSize(400,300);public void actionPerformed(ActionEvent event)/接口监听 if(event.getSource()=jb4)/判断是否是 jb4 n
13、ew Xgmm(key);/进入 Xgmm setVisible(false);if(event.getSource()=jb1)/判断是否是 jb1 new Zdqk(key);/进入 Zdqk setVisible(false);if(event.getSource()=jb2)/判断是否是 jb2 new Zdck(key);/进入 Zdck setVisible(false);if(event.getSource()=jb3)/判断是否是 jb3 new Cxye(key);/进入 Cxye setVisible(false);图 3.进入选择 KQ 界面 4、自动存款模块设计 在取款
14、模块中,和其它界面也是同样的结构,有文本框和按钮还有标签,用户在文本框中输入它想存入的数额,单击确定,就可以存入,如果输错了或者是不想存了,可以单击取消,退出的选择界面。class Zdck extends JFrame implements ActionListener/导入接口类 JPanel p1,p2,p3;/定义 1 个标签 JButton jb1,jb2;/定义 2个按钮 JTextField jtf1;/定义一个文本框 ImageIcon myimage;/定义客户类传从参数 key public Zdck(Guest key)this.key=key;/把 key传到顶层容器
15、p1=new JPanel();/定义第二个面板 l1=new JLabel(请输入您要存入的金额:/定义一个标签请输入您要存入的金额:jtf1=new JTextField(10);/定义一个文本框 p2.add(l1);p2.add(jtf1);/定义第三个面板 jb1=new JButton(确定);/定义一个按钮确定 jb1.addActionListener(this);/jb1 申请一个监听 jb2=new JButton(返回);/定义一个按钮返回 jb2.addActionListener(/定义一个匿名类监听 new ActionListener()public void a
16、ctionPerformed(ActionEvent event)KQActionPerformed(event);p3.add(jb1);p3.add(jb2);/布局定义 content.setLayout(neBorderLayout();this.setTitle(自 动 存 款);/定义为窗口名称 this.setSize(320,300);/显示 public void actionPerformed(ActionEvent e)/接口监听类 if(e.getSource()=jb1)/判断是是否是 jb1 double money=Double.parseDouble(jtf1.
17、getText();/把 money转成 Double JOptionPane.showMessageDialog(this,成功取款+jtf1.getText()+元!/一个提示框填出你成功存了多少 key.cunkuan(money);/把存的钱传回客户类 jtf1.setText(0);return;public void KQActionPerformed(ActionEvent event)/匿名类监听过程 if(event.getSource()=jb2)/判断要是 jb2 new KQ(key);/返回 KQ界面 setVisible(false);图 4.自动存款 存款成功看图
18、 5:图 5.存款成功 5、自动取款模块设 在取款模块中,和其它界面也是同样的结构,有文本框和按钮还有标签,用户在文本框中输入它想取的数额,但必须是 100的倍数,而且每一次最多只能去 5000快,当然取款时不能超过卡里的余额没卡里的余额不可以为负数,否则会弹出报错的窗口,其代码为:class Zdqk extends JFrame implements ActionListener/导入接口类 JPanel p1,p2,p3;/定义客户类传从参数 key public Zdqk(Guest key)this.key=key;/定义第二个面板 l1=new JLabel(请输入您要取的金额:/
19、定义一个标签请输入您要取的金额:/定义一个按钮返回 jb2.addActionListener(this);/jb1 申请一个监听 p3.add(jb1);this.setTitle(自 动 取 款);public void actionPerformed(ActionEvent e)/接口监听类 if(e.getSource()=jb1)/判断是是否是 jb1 double money=Double.parseDouble(jtf1.getText();/把 money转成 Double if(moneykey.jine)JOptionPane.showMessageDialog(this,
20、成功取款+jtf1.getText()+元!/一个提示框填出你成功取了多少 key.quqian(money);else JOptionPane.showMessageDialog(this,你的卡即将要已透支);/一个提示框提示你你的卡即将要已透支 if(e.getSource()=jb2)/判断是是否是 jb2 new KQ(key);/放回 KQ setVisible(false);图 6.自动取款 当取款成功时就会提示如图 7的消息。图 7.成功取款提示 当取款时如果超过卡里的余额的话就会报图 8 和 9的错误。图 8.自动取款 图 9.以超出你的剩余金额 6、查询余额模块设计 查询余
21、额的界面主要有文本框,标签,按钮,主要功能是在上一级选择菜单中选择查询余额,就会弹出查询余额的这个对话框。class Cxye extends JFrame implements ActionListener/导入接口类 JPanel p1,p2,p3;/定义 1 个标签 JButton jb1;/定义 3 个按钮 ImageIcon myimage;/定义客户类传从参数 key public Cxye(Guest key)this.key=key;/定义第二个面板 l1=new JLabel(您的剩余金额为:+key.getJine();?p2.add(l1);/定义第三个面板 jb1=ne
22、w JButton(返回);jb1.addActionListener(this);this.setTitle(查 询 余 额);public void actionPerformed(ActionEvent e)/接口监听类 if(e.getSource()=jb1)/判断是否是 jb1 new KQ(key);图 10.查询余额 取款 500后看查询 11 图:图 11.存款 600后看查询 12 图 图 12.7、修改密码模块设计 修改密码的界面主要有文本框,标签,按钮,主要功能是先在输入原始密码 的文本框中输入原来的密码,然后在输入要修改的密码的文本框中输入新密码,在确认新密码后,才能真正的将密码修改成功。import java.util.*;class Xgmm extends JFr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1