ATM取款機(jī)系統(tǒng)——java課程設(shè)計(jì)_第1頁(yè)
ATM取款機(jī)系統(tǒng)——java課程設(shè)計(jì)_第2頁(yè)
ATM取款機(jī)系統(tǒng)——java課程設(shè)計(jì)_第3頁(yè)
ATM取款機(jī)系統(tǒng)——java課程設(shè)計(jì)_第4頁(yè)
ATM取款機(jī)系統(tǒng)——java課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件開(kāi)發(fā)課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目:ATM取款機(jī)系統(tǒng)專(zhuān) 業(yè) 雙學(xué)位 姓 名 學(xué) 號(hào) 指導(dǎo)教師 時(shí) 間:目錄一、概述2二、設(shè)計(jì)目的2三、系統(tǒng)總體設(shè)計(jì)23.1系統(tǒng)功能模塊劃分23.2 ATM取款機(jī)系統(tǒng)功能結(jié)構(gòu)圖33.3各模塊詳細(xì)設(shè)計(jì)及用戶使用說(shuō)明43.3.1 登陸模塊43.3.2 選擇服務(wù)模塊43.3.3 取款服務(wù)模塊53.3.4 修改密碼模塊63.3.5 存款服務(wù)模塊63.3.6 查詢余額模塊63.3.7 轉(zhuǎn)賬服務(wù)模塊73.3.8 通信繳費(fèi)模塊73.3.9 咨詢服務(wù)模塊83.3.10 退出操作模塊8四、系統(tǒng)運(yùn)行結(jié)果及存在問(wèn)題84.1運(yùn)行結(jié)果84.2存在問(wèn)題14五、設(shè)計(jì)體會(huì)14六、源程序14ATM取款

2、機(jī)系統(tǒng)一、概述自動(dòng)柜員機(jī)(ATM)自發(fā)明以來(lái),以其高效和低成本一直受到銀行業(yè)的青睞,從我國(guó)引進(jìn)第一臺(tái)柜員機(jī)至今已經(jīng)擁有6萬(wàn)臺(tái)左右的規(guī)模,但與世界平均水平相比,我國(guó)的人均擁有量還有差距,與先進(jìn)國(guó)家相比人均擁有數(shù)量甚至不到四分之一。為了增強(qiáng)我國(guó)銀行的競(jìng)爭(zhēng)力,國(guó)家相繼出臺(tái)了很多相關(guān)措施,比如關(guān)于促進(jìn)銀行卡產(chǎn)業(yè)發(fā)展的若干意見(jiàn)等,各商業(yè)銀行也對(duì)柜員機(jī)的發(fā)展制定了詳細(xì)的規(guī)劃,甚至出現(xiàn)了由銀行單獨(dú)購(gòu)買(mǎi)模式發(fā)展為銀行租賃商業(yè)公司ATM的模式。可以說(shuō),隨著我國(guó)經(jīng)濟(jì)的屈起,我國(guó)的柜員機(jī)也正面臨著一個(gè)快速發(fā)展的春天。二、設(shè)計(jì)目的(1)復(fù)習(xí)、鞏固軟件開(kāi)發(fā)的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì)軟件開(kāi)發(fā)的理解和掌握;(2)課程設(shè)計(jì)為學(xué)

3、生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力;(3)培養(yǎng)學(xué)生在項(xiàng)目開(kāi)發(fā)中團(tuán)隊(duì)合作精神、創(chuàng)新意識(shí)及能力。三、系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)功能模塊劃分本系統(tǒng)主要包括登陸模塊設(shè)計(jì),選擇服務(wù)模塊設(shè)計(jì),取款服務(wù)模塊設(shè)計(jì),修改密碼模塊設(shè)計(jì),存款服務(wù)模塊設(shè)計(jì),查詢余額模塊設(shè)計(jì),轉(zhuǎn)賬服務(wù)模塊設(shè)計(jì),通信繳費(fèi)模塊設(shè)計(jì),咨詢服務(wù)模塊設(shè)計(jì),退出操作模塊設(shè)計(jì)等幾個(gè)功能模塊。其中(1)登陸模塊設(shè)計(jì):與ATM柜員機(jī)打交道比較多的,也是大家對(duì)安全比較關(guān)心的問(wèn)題:密碼。所以第一個(gè)界面就是要輸入密碼和卡號(hào)才能繼續(xù)服務(wù)。(2) 選擇服

4、務(wù)模塊設(shè)計(jì):在選擇服務(wù)模塊中,有各種ATM的服務(wù)功能,只要用戶在該界面中選擇按鈕,它就會(huì)彈出各個(gè)相應(yīng)的界面。(3) 取款模塊設(shè)計(jì):在取款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的,實(shí)現(xiàn)用戶取款的服務(wù)。(4) 修改密碼模塊設(shè)計(jì):在修改密碼模塊中,必須要兩次輸入你的新密碼,且兩次要匹配,否則系統(tǒng)會(huì)報(bào)錯(cuò),然后再重新回到修改密碼的界面。(5) 存款模塊設(shè)計(jì):在存款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的,實(shí)現(xiàn)用戶取款的服務(wù)。(6) 查詢余額模塊設(shè)計(jì):此功能非常簡(jiǎn)單,僅僅是實(shí)現(xiàn)彈出卡的功能。(7) 轉(zhuǎn)賬服務(wù)模塊設(shè)計(jì):在轉(zhuǎn)賬模塊中,必須

5、兩次輸入要轉(zhuǎn)賬的賬戶號(hào),并且兩次輸入必須相同,否則系統(tǒng)會(huì)報(bào)錯(cuò);然后輸入轉(zhuǎn)賬金額,完成轉(zhuǎn)賬。(8) 通信繳費(fèi)模塊設(shè)計(jì):在通信繳費(fèi)模塊中,首先,登陸人要選擇指定的沖值金額,其次,要兩次輸入要繳費(fèi)的手機(jī)號(hào)碼,且兩次輸入要相同,否則系統(tǒng)會(huì)報(bào)錯(cuò)。(9) 咨詢服務(wù)模塊設(shè)計(jì):該功能僅需要實(shí)現(xiàn)彈出卡的功能。(10) 退出操作模塊設(shè)計(jì):此功能非常簡(jiǎn)單,僅僅是實(shí)現(xiàn)彈出卡的功能。3.2 ATM取款機(jī)系統(tǒng)功能結(jié)構(gòu)圖我所設(shè)計(jì)的ATM柜員機(jī)主要是由登錄頁(yè)面模塊還由選擇服務(wù)模塊組成,其中選擇服務(wù)模塊又由取款服務(wù)模塊、修改密碼模塊、存款服務(wù)模塊、查詢余額模塊、轉(zhuǎn)賬服務(wù)模塊、通信繳費(fèi)模塊、咨詢服務(wù)模塊、退出操作模塊組成??傮w設(shè)

6、計(jì)中最核心的問(wèn)題是系統(tǒng)總體功能結(jié)構(gòu)的確定和子系統(tǒng)與模塊的劃分,結(jié)構(gòu)化。ATM取款機(jī)系統(tǒng)功能結(jié)構(gòu)圖,如下圖1所示:登陸頁(yè)面模塊存款服務(wù)模塊選擇服務(wù)模塊通信繳費(fèi)模塊查詢余額模塊轉(zhuǎn)賬服務(wù)模塊修改密碼模塊咨詢服務(wù)模塊取款服務(wù)模塊退出操作模塊圖1 ATM取款機(jī)系統(tǒng)功能結(jié)構(gòu)圖該ATM取款機(jī)系統(tǒng)各個(gè)部分負(fù)責(zé)的主要業(yè)務(wù)如下:(1) 登陸頁(yè)面模塊,對(duì)取款者進(jìn)行身份驗(yàn)證。(2) 選擇服務(wù)模塊 ,包括取款服務(wù),修改密碼,存款服務(wù),查詢余額,轉(zhuǎn)賬服務(wù),通信繳費(fèi),咨詢服務(wù),退出操作等功能模塊。(3) 取款服務(wù)模塊,實(shí)現(xiàn)取款的具體操作。(4) 修改密碼模塊,可以方便的實(shí)現(xiàn)當(dāng)前登陸人員對(duì)自己的密碼進(jìn)行修改。(5) 存款服務(wù)

7、模塊,實(shí)現(xiàn)存款的具體操作。(6) 查詢余額模塊,查看當(dāng)前登陸人員的余額。(7) 轉(zhuǎn)賬服務(wù)模塊,實(shí)現(xiàn)當(dāng)前登陸人員向另一賬戶進(jìn)行轉(zhuǎn)賬。(8) 通信繳費(fèi)模塊,實(shí)現(xiàn)當(dāng)前登陸人員對(duì)手機(jī)進(jìn)行繳費(fèi)沖值。(9) 咨詢服務(wù)模塊,對(duì)當(dāng)前登陸人員提供電話人工服務(wù)。(10) 退卡模塊,完成取款,查詢等功能后退出銀行卡。3.3各模塊詳細(xì)設(shè)計(jì)及用戶使用說(shuō)明 初始密碼:3.3.1登陸模塊程序運(yùn)行后,進(jìn)入登陸頁(yè)面一,要求登陸著插卡,并點(diǎn)擊確認(rèn),進(jìn)入登陸頁(yè)面二,要求登陸者輸入密碼,點(diǎn)擊確定,若密碼正確,進(jìn)入選擇服務(wù)模塊,否則系統(tǒng)提示“帳號(hào)不一致或帳號(hào)與金額輸入有誤,請(qǐng)確認(rèn)”,此模塊相應(yīng)的詳細(xì)源代碼見(jiàn)附錄部分,部分代碼如下: p

8、anelmain=new JPanel(null);panelmain.setBackground(new Color(119,119,253);lblpwd=new JLabel(請(qǐng)輸入您的銀行卡密碼:);panelmain.add(lblpwd);lblpwd.setBounds(150, 20, 150, 30);3.3.2選擇服務(wù)模塊在選擇服務(wù)模塊中,有各種ATM的服務(wù)功能,只要用戶在該界面中選擇按鈕,它就會(huì)彈出各個(gè)相應(yīng)的界面。每一個(gè)按鈕都有監(jiān)聽(tīng)器,監(jiān)視器就會(huì)知道所發(fā)生的事件,對(duì)此事件進(jìn)行處理。其中的詳細(xì)源代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panel3=new JPanel(null

9、);panel3.setBackground(new Color(119,119,253);lblwel=new JLabel(username+,歡迎使用羅燦銀行ATM系統(tǒng));lblwel.setBounds(20,15,350,30);panel3.add(lblwel);lblwel1=new JLabel(請(qǐng)選擇您需要的交易類(lèi)型);lblwel1.setBounds(220,55,350,30);panel3.add(lblwel1);btn3=new JButton(取款服務(wù));btn3.addActionListener(this);btn3.setBounds(20,90,100

10、,30);panel3.add(btn3);btn4=new JButton(修改密碼);btn4.addActionListener(this);btn4.setBounds(20,150,100,30);panel3.add(btn4);btn5=new JButton(存款服務(wù));btn5.addActionListener(this);btn5.setBounds(20,210,100,30);panel3.add(btn5);btn6=new JButton(查詢余額);btn6.addActionListener(this);btn6.setBounds(20,270,100,30

11、);panel3.add(btn6);btn7=new JButton(轉(zhuǎn)賬服務(wù));btn7.addActionListener(this);btn7.setBounds(300,90,100,30);panel3.add(btn7);btn8=new JButton(通信交費(fèi));btn8.addActionListener(this);btn8.setBounds(300,150,100,30);panel3.add(btn8);btn9=new JButton(咨詢服務(wù));btn9.addActionListener(this);btn9.setBounds(300,210,100,30)

12、;panel3.add(btn9);btn10=new JButton(退出操作);btn10.addActionListener(this);btn10.setBounds(300,270,100,30);panel3.add(btn10);3.3.3取款服務(wù)模塊在取款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的。用戶在文本框中輸入他想取的數(shù)額,但是必須是100的倍數(shù)。當(dāng)然了取款的時(shí)候也不能超過(guò)卡里的余額,再就是卡里的余額不能為負(fù),否則就會(huì)彈出報(bào)錯(cuò)的窗口。其方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panel4=new JPanel(null);pan

13、el4.setBackground(new Color(119,119,253);lblqukuan=new JLabel(請(qǐng)輸入您的取款數(shù):);panel4.add(lblqukuan);lblqukuan.setBounds(115, 20, 150, 30); lblqukuan=new JLabel(提示:只能是100元或100元的整數(shù)倍。);panel4.add(lblqukuan);lblqukuan.setBounds(115, 50, 300, 30);3.3.4修改密碼模塊在修改密碼模塊中,你必須要兩次輸入你的新密碼,且兩次藥匹配,否則會(huì)報(bào)錯(cuò),然后再重新回到修改密碼的界面。在

14、修改密碼時(shí)用到的方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panelchangepwd=new JPanel(null);panelchangepwd.setBackground(new Color(119,119,253);lblpwd1=new JLabel(請(qǐng)輸入您需要修改的6位密碼:);lblpwd1.setBounds(115, 30, 300, 30);panelchangepwd.add(lblpwd1);lblpwd2=new JLabel(請(qǐng)?jiān)俅屋斎肽枰薷牡?位密碼:);lblpwd2.setBounds(115, 110, 300, 30);panelchang

15、epwd.add(lblpwd2);3.3.5存款服務(wù)模塊在存款模塊中,和其他的界面也是同樣的結(jié)構(gòu)。也是有一個(gè)文本框和一個(gè)按鈕還有標(biāo)簽組成的。用戶在存款口放入存款,但是必須是100的倍數(shù)。其方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panelsave=new JPanel(null);panelsave.setBackground(new Color(119,119,253);lblsave=new JLabel(請(qǐng)?jiān)诖婵羁谔幏湃氪婵?;lblsave.setBounds(90,70,350,30);panelsave.add(lblsave);lblsave1=new JLabel(

16、請(qǐng)注意:只接收100元或100元的整數(shù)倍存款);lblsave1.setBounds(90,110,350,30);panelsave.add(lblsave1);3.3.6查詢余額模塊用戶點(diǎn)擊查詢余額按鈕,則會(huì)彈出用戶賬戶中的余額,并顯示用戶的卡號(hào)。其方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panelremain=new JPanel(null);panelremain.setBackground(new Color(119,119,253);lblremain1=new JLabel(卡號(hào):+cardnum);lblremain1.setBounds(90,70,350,30);

17、panelremain.add(lblremain1);lblremain=new JLabel(您的余額為+lastmoney+元,請(qǐng)繼續(xù)您的操作!”);lblremain.setBounds(90,110,350,30);panelremain.add(lblremain);3.3.7轉(zhuǎn)賬服務(wù)模塊在該模塊中,為防止用戶將對(duì)方的賬號(hào)輸入錯(cuò)誤,要求用戶輸入兩遍對(duì)方的賬號(hào),并輸入轉(zhuǎn)賬金額,若輸入錯(cuò)誤,則系統(tǒng)會(huì)提示用戶“帳號(hào)不一致或帳號(hào)與金額輸入有誤,請(qǐng)確認(rèn)”。其方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: paneltrans=new JPanel(null);paneltrans.setB

18、ackground(new Color(119,119,253);lbltra=new JLabel(請(qǐng)輸入對(duì)方的19位帳號(hào):);lbltra.setBounds(20, 30, 160, 30);paneltrans.add(lbltra);lbltra1=new JLabel(請(qǐng)?jiān)俅屋斎雽?duì)方的19位帳號(hào):);lbltra1.setBounds(20, 80, 190, 30);paneltrans.add(lbltra1);lbltra2=new JLabel(請(qǐng)輸入您的轉(zhuǎn)賬金額:);lbltra2.setBounds(20, 130, 160, 30);paneltrans.add(lb

19、ltra2);3.3.8通信繳費(fèi)模塊在該模塊中,用戶可以為手機(jī)進(jìn)行沖值,要求用戶選則指定的沖值金額,并且輸入手機(jī)號(hào)碼,點(diǎn)擊確定完成沖值。其方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panelmobile=new JPanel(null);panelmobile.setBackground(new Color(119,119,253);lblmo=new JLabel(請(qǐng)輸入充值的11位手機(jī)號(hào)碼:);panelmobile.add(lblmo);lblmo.setBounds(20, 140, 350, 30);lblmo1=new JLabel(提示:只接受30元、50元、100元、2

20、00元、500元的充值 );3.3.9咨詢服務(wù)模塊選擇該服務(wù)模塊后,系統(tǒng)會(huì)顯示“系統(tǒng)升級(jí)中”,并提供銀行的人工客服電話。其方法的具體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: panelconsult=new JPanel(null);panelconsult.setBackground(new Color(119,119,253);lblcon=new JLabel(系統(tǒng)升級(jí)中.咨詢請(qǐng)撥打24小時(shí)客服電話95566);lblcon.setBounds(80,70,390,30);panelconsult.add(lblcon);3.3.10退出操作模塊用戶完成操作后,需要將銀行卡退出。其方法的具

21、體實(shí)現(xiàn)代碼請(qǐng)參見(jiàn)附錄部分,部分代碼如下: if(e.getSource()=btngetcard)JOptionPane.showMessageDialog(null, 磁卡已退出,請(qǐng)保管好您的銀行卡!, 退卡成功!, JOptionPane.INFORMATION_MESSAGE);四、系統(tǒng)運(yùn)行結(jié)果及存在問(wèn)題4.1運(yùn)行結(jié)果運(yùn)行程序進(jìn)入插卡頁(yè)面,運(yùn)行效果圖,如圖2所示:圖2:插卡界面點(diǎn)擊按鈕插卡、繼續(xù)后,進(jìn)入輸入密碼界面,如圖3所示:圖3:輸入密碼界面輸入不正確,則會(huì)提醒你密碼不正確,請(qǐng)重新輸入,當(dāng)輸入正確密碼后,點(diǎn)擊確定進(jìn)入系統(tǒng)主界面,運(yùn)行效果圖,如圖4所示:圖4:系統(tǒng)主界面在主界面中包含了

22、8個(gè)主要功能,只要用戶在該界面中選擇按鈕,它就會(huì)彈出各個(gè)相應(yīng)的界面。當(dāng)點(diǎn)擊取款服務(wù)按鈕時(shí)彈出取款界面,運(yùn)行效果圖,如圖5所示:圖5:取款服務(wù)界面在選擇服務(wù)界面,點(diǎn)擊修改密碼功能按鈕,則會(huì)彈出修改密碼界面,運(yùn)行效果圖,如圖6所示:圖6:修改密碼界面在選擇服務(wù)界面,點(diǎn)擊存款服務(wù)功能按鈕,則會(huì)彈出存款服務(wù)界面,運(yùn)行效果圖,如圖7所示:圖7:存款服務(wù)界面取款服務(wù)及存款服務(wù)完成后均可以打印憑條,運(yùn)行效果圖,如圖8所示:圖8:打印憑條界面當(dāng)點(diǎn)擊余額查詢界面時(shí)系統(tǒng)會(huì)自動(dòng)幫助你檢索你的當(dāng)前賬戶還有多少錢(qián),并且在查詢完后會(huì)自動(dòng)彈出友好界面,來(lái)顯示你的當(dāng)前余額,余額查詢界面,運(yùn)行效果圖,如圖9所示:圖9:余額查詢

23、界面在選擇服務(wù)界面,點(diǎn)擊轉(zhuǎn)賬服務(wù)功能按鈕,則會(huì)彈出轉(zhuǎn)賬服務(wù)界面,運(yùn)行效果圖,如圖10所示:圖10:轉(zhuǎn)賬服務(wù)界面在選擇服務(wù)界面,點(diǎn)擊通信繳費(fèi)功能按鈕,則會(huì)彈出通信繳費(fèi)界面,運(yùn)行效果圖,如圖11所示:圖11:通信繳費(fèi)界面在選擇服務(wù)界面,點(diǎn)擊咨詢服務(wù)功能按鈕,則會(huì)彈出咨詢服務(wù)界面,運(yùn)行效果圖,如圖12所示:圖12:咨詢服務(wù)界面在選擇服務(wù)界面,點(diǎn)擊退出操作功能按鈕,則會(huì)彈出退出操作界面,運(yùn)行效果圖,如圖13所示:圖13:退出操作界面用戶在完成退出操作后進(jìn)行取卡操作,點(diǎn)擊取卡功能按鈕,則會(huì)彈出取卡成功界面,運(yùn)行效果圖,如圖14所示:圖14:取卡界面42存在問(wèn)題在此次課程設(shè)計(jì)中,我遇到了一些問(wèn)題,如:對(duì)于

24、面向?qū)ο蟮姆椒私獠粔蛲笍兀\(yùn)用到實(shí)際的軟件開(kāi)發(fā)中存在著困難;對(duì)于Java語(yǔ)言,只學(xué)習(xí)到了一些最基本的知識(shí),這導(dǎo)致編寫(xiě)程序時(shí)經(jīng)常出現(xiàn)一些語(yǔ)法錯(cuò)誤,而且要在短時(shí)間內(nèi)用Java語(yǔ)言來(lái)設(shè)計(jì)一個(gè)具體的系統(tǒng)是一個(gè)較大的挑戰(zhàn);還有對(duì)于正規(guī)開(kāi)發(fā)一個(gè)系統(tǒng)的流程不熟悉,適應(yīng)起來(lái)比較慢,編寫(xiě)各個(gè)模塊相對(duì)應(yīng)的操作時(shí),自己感覺(jué)難以動(dòng)手,這表明所學(xué)的知識(shí)不能靈活運(yùn)用到實(shí)際中。對(duì)于以上的問(wèn)題,自己有清楚的認(rèn)識(shí),解決辦法是需要大量閱讀相關(guān)的書(shū)籍,對(duì)于書(shū)上以及網(wǎng)站上下載的資料中的Java實(shí)例必須有清楚的理解,還有就是多跟精通此方面的老師和同學(xué)交流,取其精華。對(duì)于實(shí)際動(dòng)手能力與系統(tǒng)開(kāi)發(fā)的流程的適應(yīng),必須多進(jìn)行實(shí)際的練習(xí)與操作,

25、才能有大的進(jìn)步。五、設(shè)計(jì)體會(huì)通過(guò)這次課程設(shè)計(jì),使我更加熟悉的掌握了軟件開(kāi)發(fā)知識(shí)的運(yùn)用。幫助我們熟悉了更多軟件開(kāi)發(fā)語(yǔ)言的功能,提高了我們的動(dòng)手能力。在這次的課程設(shè)計(jì)中,主要是運(yùn)用JAVA語(yǔ)言來(lái)編寫(xiě)一個(gè)小的應(yīng)用程序,當(dāng)然還可以用其他的技術(shù)來(lái)輔助了。在這個(gè)小應(yīng)用程序當(dāng)中,我用了Java外還用了Swing控件。輸入輸出流等技術(shù)。由于以前學(xué)的不是很扎實(shí),而且還有些知識(shí)我們都是沒(méi)有學(xué)過(guò)的,這就要求我們?nèi)ゲ橄嚓P(guān)的書(shū)籍,還有就是和同學(xué)之間的交流。正因?yàn)檫@樣,才鍛煉了我的自學(xué)的能力,還有就是加深了我對(duì)各個(gè)知識(shí)點(diǎn)的認(rèn)識(shí),并且提高了我對(duì)專(zhuān)業(yè)的學(xué)習(xí)的興趣,為我以后的學(xué)習(xí)打下了基礎(chǔ)。通過(guò)這次課程設(shè)計(jì),使我更加熟悉的掌握

26、了軟件開(kāi)發(fā)知識(shí)的運(yùn)用。幫助我們熟悉了更多軟件開(kāi)發(fā)語(yǔ)言的功能,提高了我們的動(dòng)手能力。六、源程序import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyATM extends JFrame implements ActionListenerJPanel panelfirst,panelmain,panel3,panel4,panel5,panel6,panel7,panelchangepwd,panelchangepwded,panelsave,panelsaved,panelremain,pane

27、ltrans,paneltransed,panelmobile,panelmobiled,panelconsult;JButton btn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btnsure,btnback,btnok,btncard,btngetcard,btnincard;JButton btn00,btn01,btn02,btn03,btn04,btn05,btn06,btn07,btn08,btn09,btn010,btnback1,btnremain,btnremain1,btnremain2;JButton btn

28、000,btn001,btn002,btn003,btn004,btn005,btn006,btn007,btn008,btn009,btn100,btn200,btn300,btn1000,btn500,btnsure1,btnback2,btn0010,btnquok1,btnquok2,btnquok3,btnquok4;JButton btnpwd,btnpwd1,btnpwd2,btnpwd3,btnpwd4,btn11,btn12,btn13,btn14,btn15,btn16,btn17,btn18,btn19,btn20,btnsave,btnsave1,btnsave2,bt

29、nsaved,btnsaved1,btnsaved2,btnsaved3;JButton btntra,btntra1,btntra2,btntraed,btntraed1,btn21,btn22,btn23,btn24,btn25,btn26,btn27,btn28,btn29,btn30,btncon,btncon1;JButton btnmo,btnmo1,btnmo2,btnmo30,btnmo50,btnmo100,btnmo200,btnmo500,btnmo10,btnmo11,btnmo12,btnmo13,btnmo14,btnmo15,btnmo16,btnmo17,btn

30、mo18,btnmo19,btnmoed,btnmoed1;JTextField txt2,txttrans,txttrans1,txttrans2,txtmo,txtmo1;JLabel lbljixu,lblpwd,lblwrong,lblqukuan,lblquok1,lblquok2,lblpwd1,lblpwd2,lblpwd3,lblpwd4,lblsave,lblsave1,lblsaved,lblremain,lblremain1,lbltra,lbltra1,lbltra2,lbltraed,lbltraed1;JLabel lblwel,lblwel1,lblmo,lblm

31、o1,lblmo2,lblmo3,lblmoed,lblmoed1,lblcon,lblcon1;JPasswordField txt1,txtpwd,txtpwd1;Container container;CardLayout Layout;int money,savemoney,mobilemoney=0;double lastmoney,trainsmoney;String userpwd,cardnum,trains,username;boolean flag=true,flag1=false,flag2=false,flag3=true,flag4=false,flag5=false

32、;/構(gòu)造方法public MyATM()super(中國(guó)銀行);this.setSize(435,350);this.setLocation(500, 250);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); /設(shè)置不可改變窗口大小this.setResizable(false); /設(shè)置程序小圖標(biāo)this.setIconImage(this.getToolkit().getImage(imageshaizei.jpg);/布局public void setLayout()/用卡片布局Layout=new CardLayout();c

33、ontainer=getContentPane();container.setLayout(Layout);/添加第一張卡片panelfirst=new JPanel(null);/設(shè)置卡片的背景顏色panelfirst.setBackground(new Color(119,119,253);lbljixu=new JLabel(請(qǐng)放入磁卡,然后繼續(xù)操作);/設(shè)置卡片在Panel中的位置lbljixu.setBounds(140,90,350,30);/為第一張卡片添加一個(gè)Labelpanelfirst.add(lbljixu);/為第一張卡片添加一個(gè)按鈕btncard=new JButto

34、n(繼續(xù));btncard.setBounds(310,180,80,30);/為按鈕注冊(cè)事件監(jiān)聽(tīng)器btncard.addActionListener(this);/開(kāi)始時(shí)設(shè)置按鈕不可按btncard.setEnabled(false);panelfirst.add(btncard);/為第一張卡片添加一個(gè)按鈕btngetcard=new JButton(取卡);btngetcard.setEnabled(false);btngetcard.setBounds(310,220,80,30);btngetcard.addActionListener(this);panelfirst.add(bt

35、ngetcard);/為第一張卡片添加一個(gè)按鈕btnincard=new JButton(插卡);btnincard.setBounds(40,220,80,30);btnincard.addActionListener(this);panelfirst.add(btnincard);container.add(panelfirst,first);/添加登錄輸入密碼卡片panelmain=new JPanel(null);panelmain.setBackground(new Color(119,119,253);lblpwd=new JLabel(請(qǐng)輸入您的銀行卡密碼:);panelmain

36、.add(lblpwd);lblpwd.setBounds(150, 20, 150, 30);/設(shè)置文本框?yàn)槊艽a型txt1=new JPasswordField(12);/文本框不可選中txt1.enable(false);panelmain.add(txt1);/文本框的輸入內(nèi)容用*顯示txt1.setEchoChar(*);txt1.setBounds(115,50,200,30);/添加選擇按鈕btnsure=new JButton(確定);btnsure.addActionListener(this);panelmain.add(btnsure);btnsure.setBounds(

37、70,160,80,30);/添加重輸按鈕btn010=new JButton(重輸);btn010.addActionListener(this);panelmain.add(btn010);btn010.setBounds(175,160,80,30);btnback=new JButton(退出);btnback.addActionListener(this);panelmain.add(btnback);btnback.setBounds(280,160,80,30);lblwrong=new JLabel(請(qǐng)注意保護(hù)好您的密碼!);panelmain.add(lblwrong);lb

38、lwrong.setBounds(150,90,200,30);/添加輸入按鈕btn01=new JButton(1);btn01.addActionListener(this);panelmain.add(btn01);btn01.setBounds(45,210,60,30);btn02=new JButton(2);btn02.addActionListener(this);panelmain.add(btn02);btn02.setBounds(115,210,60,30);btn03=new JButton(3);btn03.addActionListener(this);panel

39、main.add(btn03);btn03.setBounds(185,210,60,30);btn04=new JButton(4);btn04.addActionListener(this);panelmain.add(btn04);btn04.setBounds(255,210,60,30);btn05=new JButton(5);btn05.addActionListener(this);panelmain.add(btn05);btn05.setBounds(325,210,60,30);btn06=new JButton(6);btn06.addActionListener(th

40、is);panelmain.add(btn06);btn06.setBounds(45,260,60,30);btn07=new JButton(7);btn07.addActionListener(this);panelmain.add(btn07);btn07.setBounds(115,260,60,30);container.add(panelmain,main);btn08=new JButton(8);btn08.addActionListener(this);panelmain.add(btn08);btn08.setBounds(185,260,60,30);btn09=new

41、 JButton(9);btn09.addActionListener(this);panelmain.add(btn09);btn09.setBounds(255,260,60,30);btn00=new JButton(0);btn00.addActionListener(this);panelmain.add(btn00);btn00.setBounds(325,260,60,30);/添加主界面卡片panel3=new JPanel(null);panel3.setBackground(new Color(119,119,253);lblwel=new JLabel(username+

42、,歡迎使用中國(guó)銀行ATM系統(tǒng));lblwel.setBounds(20,15,350,30);panel3.add(lblwel);lblwel1=new JLabel(請(qǐng)選擇您需要的交易類(lèi)型);lblwel1.setBounds(220,55,350,30);panel3.add(lblwel1);btn3=new JButton(取款服務(wù));btn3.addActionListener(this);btn3.setBounds(20,90,100,30);panel3.add(btn3);btn4=new JButton(修改密碼);btn4.addActionListener(this)

43、;btn4.setBounds(20,150,100,30);panel3.add(btn4);btn5=new JButton(存款服務(wù));btn5.addActionListener(this);btn5.setBounds(20,210,100,30);panel3.add(btn5);btn6=new JButton(查詢余額);btn6.addActionListener(this);btn6.setBounds(20,270,100,30);panel3.add(btn6);btn7=new JButton(轉(zhuǎn)賬服務(wù));btn7.addActionListener(this);bt

44、n7.setBounds(300,90,100,30);panel3.add(btn7);btn8=new JButton(通信交費(fèi));btn8.addActionListener(this);btn8.setBounds(300,150,100,30);panel3.add(btn8);btn9=new JButton(咨詢服務(wù));btn9.addActionListener(this);btn9.setBounds(300,210,100,30);panel3.add(btn9);btn10=new JButton(退出操作);btn10.addActionListener(this);b

45、tn10.setBounds(300,270,100,30);panel3.add(btn10);container.add(panel3,three);/添加取款頁(yè)面卡片panel4=new JPanel(null);panel4.setBackground(new Color(119,119,253);lblqukuan=new JLabel(請(qǐng)輸入您的取款數(shù):);panel4.add(lblqukuan);lblqukuan.setBounds(115, 20, 150, 30);lblqukuan=new JLabel(提示:只能是100元或100元的整數(shù)倍。);panel4.add(

46、lblqukuan);lblqukuan.setBounds(115, 50, 300, 30);txt2=new JTextField(12);txt2.enable(false);panel4.add(txt2);txt2.setBounds(115,90,200,30);btn100=new JButton(100);panel4.add(btn100);btn100.addActionListener(this);btn100.setBounds(45,190,60,30);btn200=new JButton(200);panel4.add(btn200);btn200.addAct

47、ionListener(this);btn200.setBounds(115,190,60,30);btn300=new JButton(300);panel4.add(btn300);btn300.addActionListener(this);btn300.setBounds(185,190,60,30);btn500=new JButton(500);panel4.add(btn500);btn500.addActionListener(this);btn500.setBounds(255,190,60,30);btn1000=new JButton(1000);panel4.add(b

48、tn1000);btn1000.addActionListener(this);btn1000.setBounds(325,190,65,30);btn001=new JButton(1);panel4.add(btn001);btn001.addActionListener(this);btn001.setBounds(45,230,60,30);btn002=new JButton(2);panel4.add(btn002);btn002.addActionListener(this);btn002.setBounds(115,230,60,30);btn003=new JButton(3

49、);panel4.add(btn003);btn003.addActionListener(this);btn003.setBounds(185,230,60,30);btn004=new JButton(4);panel4.add(btn004);btn004.addActionListener(this);btn004.setBounds(255,230,60,30);btn005=new JButton(5);panel4.add(btn005);btn005.addActionListener(this);btn005.setBounds(325,230,65,30);btn006=n

50、ew JButton(6);panel4.add(btn006);btn006.addActionListener(this);btn006.setBounds(45,270,60,30);btn007=new JButton(7);panel4.add(btn007);btn007.addActionListener(this);btn007.setBounds(115,270,60,30);btn008=new JButton(8);panel4.add(btn008);btn008.addActionListener(this);btn008.setBounds(185,270,60,3

51、0);btn009=new JButton(9);panel4.add(btn009);btn009.addActionListener(this);btn009.setBounds(255,270,60,30);btn000=new JButton(0);panel4.add(btn000);btn000.addActionListener(this);btn000.setBounds(325,270,65,30);btnsure1=new JButton(確定);panel4.add(btnsure1);btnsure1.addActionListener(this);btnsure1.setBounds(70,140,80,30);btn0010=new JButton(重輸);panel4.add(btn0010);btn0010.addActionListener(this);btn0010.setBounds(175,140,80,30);btnback2=new JButton(返回);panel4.add(btnback2);btnback2.addActionListener(this);btnback2.setBounds(280,140,80,3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論