版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程論文 現(xiàn)代軟件工程與實(shí)踐現(xiàn)代軟件工程與實(shí)踐 題 目: ATM 柜員機(jī)模擬程序 學(xué)院(系): 信息工程學(xué)院 專(zhuān)業(yè)班級(jí): 學(xué)生姓名: 指導(dǎo)教師: 2011 年 12 月 4 日 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 I 摘 要 通過(guò)設(shè)計(jì) ATM 柜員模擬程序,加深自己對(duì) Java 編程尤其是對(duì) Java 圖形用戶(hù)界面 編程的了解,將自己的學(xué)到的編程知識(shí)融會(huì)貫通,同時(shí)培養(yǎng)自身面向?qū)ο筌浖_(kāi)發(fā)的 思維,初步了解軟件開(kāi)發(fā)的一般流程,提高用 Java 實(shí)際動(dòng)手能力并增強(qiáng)自己對(duì)面向?qū)?象的了解。通過(guò)這次編程設(shè)計(jì),加深了對(duì) Java 圖形界面編程中各個(gè)模塊和組件的應(yīng)用 了解,以及類(lèi)和類(lèi)之間的關(guān)系
2、,界面排版的處理等。 設(shè)計(jì)要求是,當(dāng)輸入給定的卡號(hào)和密碼(初始卡號(hào)和密碼為 123456)時(shí),系統(tǒng)能 登錄 ATM 柜員機(jī)系統(tǒng),用戶(hù)可以按照以下規(guī)則進(jìn)行(規(guī)則可以按照實(shí)際系統(tǒng)做需求): (1)查詢(xún)余額:初始余額為 10000 元。 (2)ATM 取款:每次取款金額為 100 的倍數(shù), 總額不超過(guò) 5000 元,支取金額不允許透支。 (3)ATM 存款:不能出現(xiàn)負(fù)存款。 (4) 修改密碼:新密碼長(zhǎng)度不小于 6 位,不允許出現(xiàn) 6 位完全相同的情況,只有舊密碼正 確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。 該程序設(shè)置了 7 個(gè)類(lèi),1 個(gè)主類(lèi) 6 個(gè)輔助類(lèi),6 個(gè)輔助類(lèi)都是內(nèi)部類(lèi)
3、的形式,輔助 類(lèi)包括五個(gè)實(shí)現(xiàn) ATM 的功能,一個(gè)存放客戶(hù)資料,之所以用內(nèi)部類(lèi)來(lái)實(shí)現(xiàn)是為了在各 個(gè)界面轉(zhuǎn)換時(shí)不至于要?jiǎng)?chuàng)建多個(gè)對(duì)象,每一個(gè)輔助類(lèi)的對(duì)象只要在主類(lèi)中創(chuàng)建一次就 可以在各個(gè)內(nèi)部類(lèi)中引用。該程序利用的功能是利用 Java 事件監(jiān)聽(tīng)技術(shù)來(lái)實(shí)現(xiàn)的,各 種功能單獨(dú)的創(chuàng)建一個(gè)類(lèi)來(lái)實(shí)現(xiàn),不會(huì)互相混淆,更加容易理清楚思路。設(shè)計(jì)的程序 完美的實(shí)現(xiàn)了設(shè)計(jì)要求,具有查詢(xún)、取款、存款、修改密碼等功能。 II 目 錄 摘 要.I 目 錄.II 1 前言.1 1.1 設(shè)計(jì)任務(wù) .1 1.1.1 需求說(shuō)明.1 1.2 設(shè)計(jì)內(nèi)容 .1 2 程序要求.1 3 算法分析.2 4 流程圖.3 5 程序源代碼及說(shuō)明.4
4、5.1 程序源代碼 .4 5.2 源代碼說(shuō)明 .21 5.2.1 源代碼中自定義類(lèi)的說(shuō)明:.21 5.2.2 源代碼中的事件監(jiān)聽(tīng)器.22 6 調(diào)試及運(yùn)行結(jié)果.23 7 體會(huì).29 8 參考文獻(xiàn).30 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 1 1 前言 1.1 設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù) 1.1.1 需求說(shuō)明需求說(shuō)明 隨著市場(chǎng)經(jīng)濟(jì)的繁榮發(fā)展,人們的物質(zhì)生活得到極大的提高,手中的剩余資金也 日益增多。受傳統(tǒng)觀(guān)念影響,絕大多數(shù)人喜歡把資金投進(jìn)銀行,而在需要使用現(xiàn)金的 時(shí)候再到銀行提取現(xiàn)金。這就導(dǎo)致銀行業(yè)務(wù)的急劇增加。雖然銀行網(wǎng)點(diǎn)越來(lái)越多,銀 行的工作效率也隨著信息化有較明顯的增長(zhǎng),但是依舊不能滿(mǎn)足廣
5、大用戶(hù)的需要。而 一味的增加營(yíng)業(yè)網(wǎng)點(diǎn),從理論上雖然能稍微的緩解銀行的壓力,但是治標(biāo)不治本,而 且每增加一個(gè)網(wǎng)點(diǎn),不僅要付出昂貴的資金成本,還需要長(zhǎng)期投入人力資本,成本非 常之昂貴。這時(shí)候就迫切的需要一種自動(dòng)的,易于普及的,低成本的設(shè)備來(lái)解決這一 問(wèn)題。于是 ATM 機(jī)系統(tǒng)應(yīng)運(yùn)而生了。 本文正是通過(guò)設(shè)計(jì)一個(gè) ATM 模擬模擬程序來(lái)實(shí)現(xiàn) ATM 機(jī)系統(tǒng)的基本功能,充分 運(yùn)用自己所學(xué)的 Java 知識(shí)進(jìn)行設(shè)計(jì)編程。 1.2 設(shè)計(jì)內(nèi)容設(shè)計(jì)內(nèi)容 (1)程序要求 (2)算法分析 (3)流程圖 (4)源程序 (5)調(diào)試及運(yùn)行結(jié)果 (6)體會(huì) 2 程序要求 本 ATM 柜員機(jī)的主要功能如下所述: 要求使用圖形
6、用戶(hù)界面。當(dāng)輸入給定的卡號(hào)和密碼(初始卡號(hào)和密碼為 123456) 時(shí),系統(tǒng)能登錄 ATM 柜員機(jī)系統(tǒng),用戶(hù)可以按照以下規(guī)則進(jìn)行: 查詢(xún)余額:初始余額為 10000 元。 ATM 取款:每次取款金額為 100 的倍數(shù),總額不超過(guò) 5000 元,支取金額不允 許透支。 ATM 存款:不能出現(xiàn)負(fù)存款。 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 2 修改密碼:新密碼長(zhǎng)度不小于 6 位,不允許出現(xiàn) 6 位完全相同的情況,只有舊 密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。 3 算法分析 通過(guò)程序要求,我們可以清楚的知道本次設(shè)計(jì)的 ATM 柜員模擬程序需要實(shí)現(xiàn)四大 功能,即
7、查詢(xún)余額、取款、存款、修改密碼。初次之外,作為 ATM 系統(tǒng),還需要最基 本的兩大功能,即登陸和退出。 根據(jù)上述的功能分析,我們可以吧整個(gè) ATM 系統(tǒng)分為登陸模塊、查詢(xún)模塊、取款 模塊、存款模塊、修改密碼模塊。除此之外,還有在登陸系統(tǒng)后的功能選擇模塊,退 出功能則鑲嵌在各個(gè)需要的模塊中。由于各個(gè)模塊的功能實(shí)現(xiàn)是通過(guò)界面顯示出來(lái)的, 則程序設(shè)計(jì)又可以理解為幾大界面的設(shè)計(jì):登陸界面、主界面、查詢(xún)余額界面、取款 界面、存款界面、修改密碼界面。除了幾大界面之外,還有系統(tǒng)的初始化,主要是初 始卡號(hào)、密碼的設(shè)定等。 在程序的大體框架確定之后,我們需要了解各個(gè)模塊所要實(shí)現(xiàn)和需要具有的功能。 根據(jù)現(xiàn)有的銀行
8、 ATM 系統(tǒng),我們可以很快就可以了解本次設(shè)計(jì)的 ATM 系統(tǒng)應(yīng)該具有 的操作。 (1)登陸界面 用戶(hù)輸入正確的賬號(hào)和密碼就可以登錄到該系統(tǒng)的主界面中去,進(jìn)行相應(yīng)的操作: 取款、存款、查詢(xún)、修改密碼。 (2)主界面 主界面包括查詢(xún)、存款、取款、修改密碼、退出的功能按鈕,按下相應(yīng)的按鈕, 可以進(jìn)行相應(yīng)的操作。 (3)查詢(xún)界面 在主界面中按下查詢(xún)按鈕可以進(jìn)行查詢(xún)操作。通過(guò)查詢(xún)功能我們可以查詢(xún)賬戶(hù)的 余額,在查詢(xún)過(guò)程中我們可以選擇取款的業(yè)務(wù),除此之外,查詢(xún)界面之中還有返回和 退出的操作。返回的操作會(huì)使用戶(hù)回到主界面,退出的操作會(huì)使用戶(hù)直接回到登陸界 面。 (4)取款界面 取款界面既可以通過(guò)主界面進(jìn)入
9、,也可以通過(guò)查詢(xún)、存款等操作過(guò)程中的界面進(jìn) 入。取款功能在對(duì)話(huà)框中輸入你想要取出的金額,但是次金額不可以比賬戶(hù)的余額大, 且必須是 100 的整數(shù)倍,取款完畢,會(huì)彈出是否顯示余額的提示,選“是”的話(huà)就會(huì) 進(jìn)入查詢(xún)界面,選“否”的話(huà),則回到主界面。 (5)存款界面 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 3 在主界面按下存款按鈕可以進(jìn)行存款操作,在對(duì)話(huà)中輸入你需要存入的金額,所 輸入的數(shù)字也要是 100 的整數(shù)倍,而且不可以是負(fù)數(shù)。存款完畢,會(huì)彈出是否顯示余 額的提示,選“是”的話(huà)就會(huì)進(jìn)入查詢(xún)界面,選“否”的話(huà),則回到主界面。 (6)修改密碼 選擇修改密碼按鈕可以進(jìn)行修改密碼房,但是要先
10、輸入就密碼正確并且兩次輸入 新密碼一致才可以修改密碼。修改完成后,會(huì)返回主界面。 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 4 4 流程圖 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè)業(yè) 業(yè)業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) 業(yè) N N N N Y Y Y Y 圖 1 程序流程圖 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 5 5 程序源代碼及說(shuō)明 5.1 程序源代碼程序源代碼 import javax.swin
11、g.*; import javax.swing.JOptionPane; import java.awt.event.*; public class ATMmodel Account myaccount=new Account(); Load load=new Load(); MainFrame Jmain=new MainFrame(); Take take=new Take(); Input input=new Input(); Display dis=new Display(); Setpw setpw=new Setpw(); public ATMmodel() JOptionPane
12、.showMessageDialog(null,歡迎使用 ATM 柜員模擬系統(tǒng)); public static void main(String args) ATMmodel atm=new ATMmodel(); /*創(chuàng)建賬戶(hù)*/ class Account private int count=10000; /初始賬戶(hù)余額 10000 private String account=123456; /初始賬號(hào) private String password=123456; /初始密碼 public Account() public void setpw(String password) thi
13、s.password=password; public void deccount(int money) count-=money; public void reccount(int money) count+=money; 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 6 public int get() return count; public String getaccount() /賬號(hào) return account; public String getpw() return password; /*主界面*/ class MainFrame extends JFrame publi
14、c JButton checked; public JButton cunkuan; public JButton quit; public JButton qukuan; public JButton reset; public MainFrame() initComponents(); this.setLocationRelativeTo(null); / this.setVisible(false); /* 控件初始化*/ private void initComponents() cunkuan = new JButton(); qukuan = new JButton(); chec
15、ked = new JButton(); reset = new JButton(); quit = new JButton(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setTitle(ATM 柜員模擬程序); setName(mianframe); setResizable(false); cunkuan.setText(存款); cunkuan.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) c
16、unkuanActionPerformed(evt); ); 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 7 qukuan.setText(取款); qukuan.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) qukuanActionPerformed(evt); ); checked.setText(查詢(xún)); checked.addActionListener(new ActionListener() public void actionPerformed(Actio
17、nEvent evt) checkedActionPerformed(evt); ); reset.setText(修改密碼); reset.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) resetActionPerformed(evt); ); quit.setText(退出); quit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) quitActi
18、onPerformed(evt); ); GroupLayout layout = new GroupLayout(getContentPane(); /GroupLayout 它將組件按層 次分組,以決定它們?cè)?Container 中的位置 getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap
19、() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(cunkuan) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 105, Short.MAX_VALUE) .addComponent(reset) .addGroup(javax.swing.GroupLayout.Alignme
20、nt.TRAILING, layout.createSequentialGroup() .addComponent(qukuan) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 143, Short.MAX_VALUE) .addComponent(quit) .addComponent(checked) 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 8 .addContainerGap() ); layout.setVerticalGroup( layout.createParallelGroup(
21、javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(46, 46, 46) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cunkuan) .addComponent(reset) .addGap(51, 51, 51) .addGroup(layout.createParallelGroup(javax.swing.Gr
22、oupLayout.Alignment.BASELINE) .addComponent(quit) .addComponent(qukuan) .addGap(57, 57, 57) .addComponent(checked) .addGap(39, 39, 39) ); pack(); private void quitActionPerformed(ActionEvent evt) load.setVisible(true); this.setVisible(false); private void resetActionPerformed(ActionEvent evt) setpw.
23、setVisible(true); this.setVisible(false); private void checkedActionPerformed(ActionEvent evt) dis.setVisible(true); this.setVisible(false); private void qukuanActionPerformed(ActionEvent evt) take.setVisible(true); this.setVisible(false); private void cunkuanActionPerformed(ActionEvent evt) input.s
24、etVisible(true); this.setVisible(false); /*登錄界面*/ 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 9 class Load extends JFrame public JPasswordField Jpassword; public JTextField accountnum; public JButton commit; private JLabel jL1; private JLabel jL2; public Load() initComponents(); this.setLocationRelativeTo(null); this.s
25、etVisible(true); private void initComponents() jL1 = new JLabel(); jL2 = new JLabel(); accountnum = new JTextField(); commit = new JButton(); Jpassword = new JPasswordField(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setTitle(ATM 柜員模擬程序); setResizable(false); jL1.setText(賬號(hào):); jL2.se
26、tText(密碼:); commit.setText(確定); commit.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) commitActionPerformed(evt); ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane(); getContentPane().setLayout(layout); l
27、ayout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap(50, Short.MAX_VALUE) .add
28、Group(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jL1) .addComponent(jL2) .addGap(31, 31, 31) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 10 .addComponent(Jpassword) .addComponent(accountnum,
29、javax.swing.GroupLayout.DEFAULT_SIZE, 143, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGap(122, 122, 122) .addComponent(commit) .addContainerGap(72, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.c
30、reateSequentialGroup() .addGap(85, 85, 85) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(accountnum, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jL1) .addGap(41, 4
31、1, 41) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jL2) .addComponent(Jpassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.Component
32、Placement.RELATED, 72, Short.MAX_VALUE) .addComponent(commit) .addGap(64, 64, 64) ); pack(); private void commitActionPerformed(ActionEvent evt) if(accountnum.getText().equals(myaccount.getaccount() this.setVisible(false); accountnum.setText(); Jpassword.setText(); else JOptionPane.showMessageDialog
33、(null,密碼與賬戶(hù)不匹配,請(qǐng)重新輸入,出錯(cuò)提示,1); accountnum.setText(); Jpassword.setText(); 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 11 /*取款界面*/ class Take extends JFrame public JButton back; public JButton clear; public JButton commit; private JLabel jL1; public JTextField jT1; public JButton quit; String str=; public Take() initComp
34、onents(); this.setLocationRelativeTo(null); this.setVisible(false); private void initComponents() jL1 = new JLabel(); jT1 = new JTextField(); commit = new JButton(); back = new JButton(); quit = new JButton(); clear = new JButton(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); jL1.setTex
35、t(取款金額:); commit.setText(確定); commit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) commitActionPerformed(evt); ); back.setText(返回); back.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) backActionPerformed(evt); ); quit.setText
36、(退出); quit.addActionListener(new ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) quitActionPerformed(evt); ); clear.setText(清除); 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 12 clear.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) clearActionPerformed(evt)
37、; ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane(); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(41, 41, 41) .addGroup(layout.creat
38、eParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jL1) .addGap(33, 33, 33) .addComponent(jT1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() .addComponent(cle
39、ar) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 147, Short.MAX_VALUE) .addComponent(quit) .addGroup(layout.createSequentialGroup() .addComponent(commit) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 147, Short.MAX_VALUE) .addComponent(back) .addContain
40、erGap(69, javax.swing.GroupLayout.PREFERRED_SIZE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(103, 103, 103) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addCom
41、ponent(jL1) .addComponent(jT1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(61, 61, 61) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(commit) .addComponent(back) .addGap(
42、29, 29, 29) 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 13 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(clear) .addComponent(quit) .addContainerGap(65, Short.MAX_VALUE) ); pack(); private void clearActionPerformed(ActionEvent evt) str=; jT1.setText(str); private void qu
43、itActionPerformed(ActionEvent evt) load.setVisible(true); this.setVisible(false); private void backActionPerformed(ActionEvent evt) Jmain.setVisible(true); this.setVisible(false); private void commitActionPerformed(ActionEvent evt) if(Integer.parseInt(jT1.getText()0 int result=javax.swing.JOptionPan
44、e.showConfirmDialog(null,是否顯示余額? ,javax.swing.JOptionPane.YES_NO_OPTION,javax.swing.JOptionPane.QUESTION_MESSAGE); if(result=javax.swing.JOptionPane.YES_OPTION) dis.set(String.valueOf(myaccount.get(); str=; jT1.setText(str); dis.setVisible(true); this.setVisible(false); else Jmain.setVisible(true);
45、this.setVisible(false); else 武漢理工大學(xué)工程碩士課程論文現(xiàn)代軟件工程與實(shí)踐 14 JOptionPane.showMessageDialog(null,取款金額不能為負(fù)數(shù)+n 取款金額不能為 0+n 取 款金額必須是 100 的倍數(shù)+n 金額一次不能超過(guò) 5000+n 請(qǐng)重新輸入你要取的金額數(shù),出錯(cuò)提示 ,1); str=; jT1.setText(str); /*存款界面*/ class Input extends JFrame private JButton clear; private JButton commit; private JLabel jL1;
46、private JTextField jT1; String str=; public Input() initComponents(); this.setLocationRelativeTo(null); this.setResizable(false); this.setVisible(false); private void initComponents() jL1 = new JLabel(); jT1 = new JTextField(); commit = new JButton(); clear = new JButton(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); jL1.setText(存款金額:); commit.setText(確認(rèn)); commit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) commitActionPerformed(evt);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專(zhuān)項(xiàng)練習(xí)匯編
- 規(guī)范校外培訓(xùn)合同(2篇)
- 小丑電影課件教學(xué)課件
- 老師課件制作教學(xué)
- 南京工業(yè)大學(xué)浦江學(xué)院《土力學(xué)與地基基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京航空航天大學(xué)《法律文書(shū)》2022-2023學(xué)年期末試卷
- soc芯片課件教學(xué)課件
- 石林縣風(fēng)貌改造施工組織設(shè)計(jì)書(shū)(二標(biāo)段)
- 南京工業(yè)大學(xué)浦江學(xué)院《企業(yè)家精神創(chuàng)新精神與商業(yè)規(guī)劃》2022-2023學(xué)年第一學(xué)期期末試卷
- 《詠柳》的說(shuō)課稿
- 2024年國(guó)家基本公衛(wèi)培訓(xùn)考核試題
- 教科版物理八年級(jí)上冊(cè)教案(全冊(cè))
- 電阻的實(shí)驗(yàn)報(bào)告
- JGJ58-2008 電影院建筑設(shè)計(jì)規(guī)范
- CJJ101-2016 埋地塑料給水管道工程技術(shù)規(guī)程
- DL-T5710-2014電力建設(shè)土建工程施工技術(shù)檢驗(yàn)規(guī)范
- 2024年春季國(guó)開(kāi)《學(xué)前教育科研方法》期末大作業(yè)(參考答案)
- 儲(chǔ)能技術(shù)系統(tǒng)安全評(píng)估與風(fēng)險(xiǎn)控制
- 《醫(yī)療衛(wèi)生信用信息規(guī)范》
- 牙周病學(xué)考試模擬題+答案
- 樣衣制作辦單
評(píng)論
0/150
提交評(píng)論