没有合适的资源?快使用搜索试试~ 我知道了~
javaATM柜员机源代码
需积分: 10 31 下载量 147 浏览量
2011-06-26
10:29:29
上传
评论 2
收藏 564KB DOC 举报
温馨提示
试读
23页
基本的ATM界面都有 有七个类,包括登录,存款,取款,改密,查额等,具有一定代表性
资源推荐
资源详情
资源评论
-*ATM 柜员机模拟程序
一、实训设备与工具
个人计算机(奔腾 486 档 以上), windowsXP,JCreator 或
Editplus 编译开发环境
二、 实验目的与要求
目的:掌握图形用户界面设计方法,掌握常用 swing 组件的
使用和事件处理程序设计;掌握文件的 I/O 操作或程
序对数据库的访问
要 求 : 当 输 入 给 定 的 卡 号 和 密 码 ( 初 始 卡 号 和 密 码 为
123456)时,系统能登录 ATM 柜员机系统,用户可
以进行:
1 、查询余额:初始余额为 1000 元
2 、ATM 取款:每次取款金额为 100 的倍数,总额不超过
5000 元,支取金额不允许透支
3 、ATM 存款:不能出现负存款
4 、修改密码:新密码长度不小于 6 为,不允许出现 6 位完
全相同的情况,只有旧密码正确,新密码符合要求,且两次
输入相同的情况下才可以成功修改密码。
三、实验实现的步骤
1、 分析题目
2、 根据自己的想法搭建程序主界面
3、 为各菜单项添加事件处理程序
四、ATM 柜员机界面设计图
图 1 ATM 功能结构示意图
1、 Guest 类代码如下:
class Guest // 定义客户类
{
String zh; //定义账号
String pswf; //定义密码
double jine; //定义金额
public Guest(){} //构造 Guest
public Guest(String zh,String pswf,double jine)
{
this.zh=zh; //带入顶层容器,账号,密码,金额
this.pswf=pswf;
this.jine=jine;
}
String getzh() //定义成员变量账号
{
return zh; //成员方法
}
double setMima(double pswf)//定义成员变量密码
{
return pswf;//成员方法
}
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 柜员机主界面模块设计
主界面的设计,主要有按钮、文本框,组合框,标签,在组合中选择账号,
在密码的文本框中输入各个账号所对应的密码,单击登录按钮可以进入选择界
面,如果密码错误,就会弹出如图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 jb1,jb2,jb3; //定义 3 个按钮
JTextField jtf1; //定义一个文本框
JComboBox jc1; //定义一个组合框
ImageIcon myimage; //定义导入图片
Container content; //定义一个容器
Guest[] g=new Guest[4]; //定义客户类数组
public DENGRU() //布局
{
g[0]=new Guest("chengchao","888888",5000);//客户类数组里给的帐
号,密码,钱数
g[1]=new Guest("baijing","888888",5000);
g[2]=new Guest("gaolingling","888888",5000);
g[3]=new 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("zhaofengying");
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.add(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,BorderLayout.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 );// 关闭、退
出
}
public void actionPerformed(ActionEvent e ) //监听类
{String x= jc1.getSelectedItem().toString(); //把 jc1 的值强制转换成字符
if(e.getSource()==jb1) //如果点击是 jb1 按钮就进入 For
{
for(int i=0;i<4;i++) //判断名字在数组的位置
if(x.equals(g[i].zh)) //检查到开始判断是否匹配
{
if(pswf.getText().equals(g[i].pswf)) //名字匹配成功后判断密码是否成功
{
new KQ(g[i]); //密码真确后进入 KQ 的界面
setVisible( false);
}
else
{
JOptionPane.showMessageDialog( this," 密 码 错 误 , 拒 绝 登
陆"); //密码错误弹出提示密码错误
}
}
}
else
System.exit(0); //注销事件退出
}
public static void main(String args[]) //定义的 MAIN,才能进入。
{
new DENGRU();
剩余22页未读,继续阅读
资源评论
birdwym
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功