1、软 件 学 院课程设计报告书课程名称 面向对象程序设计 设计题目 M柜员机模拟程序 专业班级 软件工程 学 号 姓 名 指导教师 刘腊梅 2015年 月目录1 设计时间2 设计目得13设计题目14 设计任务5 设计内容15、 keh类代码1、2 TM主界面模块设计5、3 选择页面模块设计55、4 存款模块设计5、5 取款模块设计11、6 查询余额模块设计65、 修改密码模块设计 总结与展望23参考文献4成绩评定24设计时间2015 年 月 设计目得掌握图形用户界面设计方法,掌握常用sig组件得使用与事件处理程序设计、3设计题目ATM柜员机模拟程序4 设计任务使用图形用户界面。当输入给定得卡号与
2、密码(初始卡号与密码为12345)时,系统能登录T柜员机系统,用户可以按照以下规则进行:()查询余额功能:初始余额为100元(2)AT取款功能:每次取款金额为100得倍数,总额不超过500元,支取金额不允许透支。()AM存款功能:不能出现负存款。(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同得情况,只有旧密码正确,新密码符合要求,且两次输入相同得情况下才可以成功修改密码。5设计内容 、1 kh类代码iport javax、swing、;ir javax、swi、evet、;mort jva、w、*;ipor java、awt、eve、*; / 导入包mrt jaa、utl、*;c
3、 ehu /定义客户类n zh; /定义账号Sting psw;/定义密码ouble jine; /定义金额pbic ehu() /构造GUKEpublic eh(Strig h,Strng sf, doule jn)his、zh zh; tis、pw = pw;this、jine = ine;String gth() /定义成员变量账号reurn zh; /成员方法double setMia(dolpsf)/定义成员变量密码rtn ps;/成员方法doublegetJe()/定义成员变量金额etr jine;/定义成员方法voi cunkua(doubl mony)/定义成员变量存款jne=
4、jie +ny; /定义成员方法oidquqian(doub on)/定义成员变量取款jine =ine- ney;/定义成员方法String xiuai(St mi)/定义成员变量密码pwf = m; /定义成员方法reun swf; 5、2 A主界面模块设计 clss M extnd ram impemns ctonLisener /导入接口类Jl 1,p2, p; /定义个面板JLbe l1, 2,3,l; /定义个标签PasswrdFild psw; /定义一个密码文本JButto jb1, jb2;定义个按钮JTextFeldjtf1,jc1; /定义个文本框Contane onnt
5、; /定义一个容器ehug = wke4; /定义客户类数组publi TM() /布局g0 = neeh(uypng, 123456, 1000);/客户类数组里给得帐号,密码,钱数g1 =new ehu(cegang,23456, 100);g2 = nw keu(haghie,12356, 00);3 = ew eu(engzanyuan,236, 10000);p1 =newJPael(); 2 =newJPan(); /定义第二个面板 new JLbel(卡号:); /定义标签l2 c1 new JextField(10); 定义账号文本 l3 = ew JLbel(密 码:); /
6、定义标签l3swf =new awordFie(1); /定义密码文本l = newJLbl(欢迎使用自动取款机);1、add(l4);p2、ad(l2); /把它们分别镶在面板上p2、ad(c1);p、dd();2、add(p);p3 =nw Janel(); /定义第三个面板jb1 = nJButtn(登录); /定义按钮登录j1j、addAtionisne(this); /jb申请监听jb2=e JButon(注销); /定义按钮注销jb2b2、adActioLitener(th); /jb申请监听p3、dd(b1); /把它们添加到p3面板里p3、add();cotent= ths、g
7、etContentane(); /布局定义onten、setLayot(nw BrdeLayout();cntent、add(p, BordeLayo、NORH);conten、ad(2, Brdeyout、CNER); /定义中部为面板2content、d(p3, Brdayut、SOU); /定义底部为面板p3his、pck();this、etTitle(ATM 柜员机); 定义为窗口名称thi、setBud(300, 300, 400, 300); / 定义窗口得大小i、seResizable(false);ths、sow(); /显示this、tDefullospratio(JFram
8、e、EXT_N_COSE);/关闭、退出bic vodactioPerormed(onEvene) /监听类rng x c、getTex(); if(、getSource() jb1) /如果点击就是j1按钮就进入r for (inti = ;i 4; i) /判断名字在数组得位置 (x、euls(i、zh) /检查到开始判断就是否匹配 if (s、getext()、euas(i、swf) /名字匹配成功后判断密码就是否成功 new XUANZE(g); /密码真确后进入UANZE得界面elsJOtionPae、showMesageDialog(this,密码错误!); /密码错误弹出提示密码
9、错误eleSym、xit(0); /注销事件退出public ai void main(Stringargs) /定义得MAIN,才能进入。ew ATM(); 主界面 密码输入错误提示栏5、3 选择页面模块设计 ls XUANZE etend JFameipemntActionListener /导入接口类JPnel p2, p3; /定义个面板JLael l1; /定义个标签Button jb1, jb2, jb,b4, j5; /定义个按钮ontainecntet; /定义一个容器kehkey; /定义客户类传从参数keyubli UAZE(GUKE ke)this、ky= ky; p2=
10、 ewJPael(); /定义面板 jb1 =nwJtton(T取款); /定义j1按钮ATM取款b1、addActonLsteer(ths); /b1申请监听jb2 = new Btton(AM存款); /定义b按钮存款jb2、ddActionLitene(th); jb2申请监听jb3= e But(查询余额); /定义b3按钮查询余额jb3、addcionLtner(this); /jb3申请监听jb4 nwBton(修改密码); /定义b4按钮修改密码j4、ddActionLiener(thi); /jb4申请监听p2、dd(b);p2、add(jb);p2、add(j3);p2、ad
11、d(jb);p3 =n JPnl(); /定义面板jb = n JButon(退出); /定义jb5按钮退出 j5、addActonListen( /定义一个匿名类 new ActionLene()blic void actionPerrmed(Aciet vet)stm、exit(0); /退出登陆 );p3、ad(j5);ntent= this、geCntenPane(); /布局定义content、etLayut(new orderLaout());onte、dd(p, odrayout、CENTE); /定义中部为面板p2cnt、(p3, BoreLaot、SUH); /定义底部为面板
12、p3his、pac();thi、setTtle(进入界面); /定义为窗口名称this、setBounds(300,0, 40, 0); / 定义窗口得大小thi、setResizabe(false);ts、h();lc voactionPerfrmd(ctionEet event) /接口监听if (event、gtSource() = j4) /判断就是否就是b4neXgmm(ey); /进入XgmetVisibl(fals); (event、getSour()= b1) /判断就是否就是1new QUUN(key); /进入QUKNseVisbe(fls);f (ent、getoe()
13、= jb2) /判断就是否就是jb2new CUNKUN(key); /进入NNsetVsbl(fse);f(eet、geoce() = jb3) /判断就是否就是jb3new HAXUN(k); /进入CHAXUNstible(false); 进入选择界面5、4 存款模块设计clsCUNKAN exends Frame mlements ActionListner /导入接口类Jnelp2, p3; 定义个面板JLabell; /定义个标签JButon b1, jb; 定义个按钮JextFietf; /定义一个文本框Containr ctt; /定义一个容器 ke; /定义客户类传从参数ep
14、ublic NKUAN(kehu ky)this、ke ky; /把ey传到顶层容器2 = ew Janel(); /定义面板l1 =new Lbl(请输入您要存入得金额:); /定义一个标签请输入您要存入得金额:tf1 = ew xtFeld(10); /定义一个文本框 2、d(1);2、ad(jtf);p3 = new JPanl(); /定义第三个面板b1 = newJBuon(确定); /定义一个按钮确定jb1、addctionLstner(hi); /jb1申请一个监听jb = Bton(返回); 定义一个按钮返回jb2、dAcnLstner( /定义一个匿名类监听 ew Atins
15、ener()pbli vid toPerrmd(ctonveneven)XUANZEAtionPforme(et); );p、dd(b);3、add(b2);cntet = this、gtCotentPe(); /布局定义otnt、tLayout(new Bordayout());contet、d(p2,BorderLaout、OH); /定义顶部为面板 ontent、ad(p2,rderLayu、CENR); /定义中部为面板p2conen、add(3, BorderLayout、SOU); /定义底部为面板p3thi、pack();this、setTite(自 动 存 款); /定义为窗口
16、名称this、setBouds(00, 300, 400, 30); / 定义窗口得大小thi、stResil(false);ts、sho(); /显示pblic oid actionPeformed(ctionEent e) /接口监听类if (e、geSurc() = jb1) /判断就是就是否就是1dul mon = Dube、parsouble(tf1、etText());/ 把ney转成DoubleJOtionn、showessageDlo(this, 成功存款 jt、getxt()元!);/一个提示框填出您成功存了多少key、cunkuan(mony); /把存得钱传回客户类jf1
17、、sTet(0);pulcvoid ANZEAtonPefomed(Actionven event)匿名类监听过程i (ve、etSorce() = jb2) /判断要就是b2ewUANE(key); /返回XZE界面setVsible(false);存款界面存款成功5、5 取款模块设计cas QUUAN etedsJFraeimplmenAtionitenr /导入接口类Janel p2, p3; /定义个面板Jal l1; /定义个标签Button jb, jb2; /定义个按钮xFldjtf; /定义一个文本框Conner contt; /定义一个容器GKE ey; /定义客户类传从参数
18、keypulic QUKUAN(GUE ke)is、ky= ke; /把ey传到顶层容器p2 = ew Jael(); /定义面板1 nw JLbel(请输入您要取得金额:); /定义一个标签请输入您要取得金额:j = ew JTtFie(10); /定义一个文本框p、add(l1);p2、add(jtf1);p= ew JPanel(); 定义面板jb1 = new Buon(确定); /定义一个按钮确定jb1、dtiontene(ti); /jb1申请一个监听j= n JButtn(返回); /定义一个按钮返回jb2、addctionser(ths); /b1申请一个监听p3、add(jb
19、1);p3、a(jb2);cten = this、geContntane(); /布局定义onte、etLaot(new BordrLayut());contnt、add(p2,BordLayot、CNTER); /定义中部为面板p2conen、add(3, BoreLayot、SUTH); 定义底部为面板p3tis、pac();thi、setTite(自 动 取款); /定义为窗口名称 this、setBounds(00, 30, 40, 30); / 定义窗口得大小hi、etResizabe(fse);this、show();puc void actionPeford(AioEvente)
20、 /接口监听类i (e、etSoue() = jb1) /判断就是就是否就是jb1doule ony =oube、paseoble(jt1、gText());/ 把ey转成Doubleif (oney k、jine)if (money % 100 = )i (oney 000) JOpinan、sowMessageDialog(this, 成功取款+ jtf、geTet()+元!);/一个提示框填出您成功取了多少key、quqian(moey); /把存得钱传回客户类j1、setTt();elseOptnPane、shwMsageDialg(,提取金额不许超过五千);lseJOptionPne
21、、showessaeDialo(ths, 取款许为一百得整数);elOptnPane、showMessageDialo(this, 金额不足不许透支);/一个提示框提示您您得卡即将要已透支if (e、gtSurce() =jb)/判断就是就是否就是j2nw UAZE(key); /返回UANEstVisible(false);取款界面取款成功金额不足取款失败提示提取金额不许超过五千提取金额需为一百得整数 5、6 查询余额模块设计lasCHXUN extends rame impletsAtionster /导入接口类Pane p2, p3; /定义个面板JLabel l1; /定义个标签utt
22、on 1; /定义个按钮 ntaie cntnt; /定义一个容器kehuky; /定义客户类传从参数epulic CHAXUN(kehukey) this、ey=key; /把key传到顶层容器 p2new JPanel(); /定义面板 l1ne JLbe(您得剩余金额为:+ key、etJin()); p、add(l);3=nw JPl(); /定义面板 b1=ne JBton(返回); j1、dActionistenr(ths); 3、add(jb1); contn=this、eContntPn(); /布局定义 cnten、sayut(n BoLyt(); content、ad(p2
23、,rderLayout、CENER); /定义中部为面板p2 onent、d(p,BodrLayut、UH); /定义底部为面板3 this、pc(); thi、sete(查 询 余 额); /定义为窗口名称 this、seouns(00, 30, 400,0); / 定义窗口得大小 hs、seRsible(ale); s、sh(); pubic void cioerfrmed(AtionEent e) /接口监听类if (e、gSoc()= b1) /判断就是否就是jb1 new XUAN(ke); /返回XUAsetVie(als);开户资金10元存700后查询余额再取款90后查询余额5、
24、 修改密码模块设计ca Xgens Jrame ipleents AcoLitee /导入接口类Jnel 2, p3; /定义个面板JLbel l1, l2,, l4; /定义个标签JassrdFld jtf, j2, jtf; /定义个文本框Bton, jb; 定义个按钮Continer content; /定义一个容器kh ke; /定义客户类传从参数eyubicXgm(kehu ky)is、=key; /把ky传到顶层容器p2=newJane(); /定义第二个面板l2nw Jabl(请输入原始密码:); /定义标签请输入原始密码:l3neJb(输入要修改得密码:); /定义标签输入要修
25、改得密码l4=ew JLabe(确认输入得新密码:); /定义标签确认输入得新密码:tf1neJPsrield(); /定义文本框fjtf2 =n JPsswordFied(1); /定义文本框jt jtf=new JPassorFeld(5); /定义文本框jtf3 p2、add(l2); p2、ad(jf1); p2、add(l3); 2、dd(jtf2);p2、d(l4);2、add(j);pnew JPanel(); /定义面板 jb1 = e Buton(确定); /定义按钮b1确定 b1、adcontn(tis); /j申请监听 j2=new JBut(返回登录); /定义按钮j2
26、 放回登录 j2、ddAionLsteer(thi); /b2申请监听p、d(j); 3、add(2); cten this、getetPane(); /布局定义 content、setLyout(newBoderLayout(); contet、add(p2,BoreLaout、ENTER); /定义中部为面板p2 ontent、add(p3,BrderLaou、SUTH); /定义底部为面板p3 this、ack(); this、seTite(修改密码); 定义为窗口名称thi、setous(30, 300, 00, 30); / 定义窗口得大小 this、etRizle(false); his、hw(); /显示bi vid ationPerfoed(Actinvent ) /接口监听类