




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第七章程序設(shè)計案例分析,Java為我們設(shè)計圖形界面應(yīng)用程序提供了豐富的GUI組件,但是Java圖形界面應(yīng)用程序的設(shè)計仍然比較復(fù)雜。本章我們配合這章內(nèi)容將介紹一個設(shè)計案例單詞贏家軟件。通過剖析和研究該應(yīng)用程序的設(shè)計過程,我們不僅可以對窗體、菜單、組件、事件、布局等的設(shè)計有一個感性的綜合的了解,還可以掌握使用開發(fā)工具(NetBeans IDE)完成開發(fā)項目的一般過程和方法,積累實際編程經(jīng)驗。,7.1 可視化程序設(shè)計與NetBeans IDE,可視化程序設(shè)計是基于圖形用戶界面(GUI)和可視化組件的一種快速應(yīng)用開發(fā)(RAD)方法;可視化程序設(shè)計可以根據(jù)用戶需求快速建立原型,驗證并實現(xiàn)用戶需求;并通過
2、所見即所得的開發(fā)提高編程工作的效率。 Java有一些優(yōu)秀的可視化編程工具提供了功能有限的可視化程序設(shè)計開發(fā)環(huán)境,但目前Java程序設(shè)計無法完全依賴于可視化編程工具的支持,仍然有很多工作需要手工編程來完成。 NetBeans IDE提供了一些工具,可幫助我們以可視化方式設(shè)計和生成Java窗體,簡化圖形用戶界面的設(shè)計過程,這些工具包括窗體編輯器、檢查器窗口、組件面板窗口、屬性窗口、連接向?qū)А?7.1 可視化程序設(shè)計與NetBeans IDE,窗體編輯器,檢查器窗口,組件面板窗口,屬性窗口,項目窗口,使用NetBeans IDE在窗體編輯器“設(shè)計”視圖中處理某個窗體時,將自動生成代碼,并在“源”視圖
3、中以藍色背景顯示這些代碼。此代碼稱為“受保護文本”,不能直接對其進行編輯。,7.2 設(shè)計窗體,Java應(yīng)用程序的窗體包括:用作頂層窗體的框架窗體(JFrame);用于放置內(nèi)容的面板窗體(JPanel);用于用戶交互的對話框窗體(JDialog)等。設(shè)計窗體除了要設(shè)計窗體中的GUI組件和布局外,還要設(shè)計相關(guān)的事件處理程序。 在NetBeans IDE中,可以利用新建文件向?qū)?chuàng)建具有選定類型的空白窗體,并獲得系統(tǒng)生成的基本代碼。,7.2.1 創(chuàng)建主窗體和主面板,在NetBeans IDE中創(chuàng)建新窗體的步驟如下: 從主菜單中選擇菜單項:“文件-新建文件”。 在“新建文件”向?qū)е姓归_“Java GUI
4、窗體”節(jié)點,然后選擇一個窗體模板“JFrame窗體”,然后單擊下一步。 在 “新建JFrame窗體”向?qū)е休斎胄陆ù绑w的名稱和位置。然后單擊完成。 NetBeans IDE將創(chuàng)建具有選定類型的空白窗體,并在“編輯器”標(biāo)簽的“設(shè)計”視圖中打開該窗體。,7.2.2 組件與布局設(shè)計,在NetBeans IDE可視化設(shè)計時,使用“組件面板”窗口、窗體編輯器或“檢查器”窗口來添加組件并更改大多數(shù)容器的布局。 可以先利用AbsoluteLayout布局設(shè)計好程序界面,然后再將容器的絕對布局轉(zhuǎn)化成合適的相對布局。如果容器中的GUI元素比較復(fù)雜,則可以轉(zhuǎn)化為功能強大的GridBagLayout布局。,7.2.
5、3 添加事件,在NetBeans IDE可視化設(shè)計時,可以使用組件的“屬性”窗口或上下文菜單添加事件,定義事件處理程序。系統(tǒng)將自動生成事件監(jiān)聽器的代碼和處理程序方法的空主體。 我們可以使用組件的“屬性”窗口或上下文菜單定義事件處理程序。使用“屬性”窗口定義事件處理程序的步驟如下(以startButton的Action事件為例): 在“檢查器”窗口中選擇組件startButton,然后在“屬性”窗口中單擊“事件”。 在列表中單擊所需事件的值actionPerformed。初始時,所有事件的值均為。當(dāng)單擊值字段時,將替換為缺省事件名。 在屬性表單中,鍵入所需的處理程序名稱并按Enter鍵,或者直接
6、按Enter鍵以使用缺省處理程序名稱。如果未按Enter鍵,將不生成任何代碼。也可以單擊事件的省略號(.) 按鈕以顯示“處理程序”對話框。單擊“添加”按鈕,將新的名稱testWord添加到處理程序列表中,然后單擊“確定”。 此時系統(tǒng)自動生成事件監(jiān)聽器的代碼和處理程序方法的空主體 。,選擇要添加的事件處理程序,/自動生成事件監(jiān)聽器的代碼(不可編輯) startButton.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt)
7、 testWord(evt); /處理程序方法的空主體(方法頭不可編輯,但是方法體可編輯) private void testWord(java.awt.event.ActionEvent evt) / TODO 將在此處添加您的處理代碼: ,7.3 設(shè)計菜單和對話框,設(shè)計菜單和對話框是圖形界面應(yīng)用程序的最常見特征,菜單可以用于調(diào)用不同的程序操作模塊,而通過對話框則可完成特定的設(shè)置或操作任務(wù)。,7.3.1 設(shè)計菜單,手工創(chuàng)建菜單時,需要先創(chuàng)建菜單項對象(JMenuItem的實例)、菜單對象(JMenu的實例)、菜單欄對象(JMenuBar的實例)。然后把菜單項對象添加到菜單對象中;把菜單對象添
8、加到菜單欄對象中。最后使用setJMenuBar方法,為那個能使用菜單的容器組件添加完整的主菜單欄。使用NetBeans IDE在窗體編輯器中可視化設(shè)計菜單。 使用NetBeans IDE在窗體編輯器中可視化設(shè)計菜單,使得編寫菜單程序頗為簡單。具體步驟如下: 首先在窗體編輯器中創(chuàng)建菜單欄 然后將菜單添加到菜單欄中 接著是添加菜單項 最后為菜單項添加事件,private void initComponents() . . menuItemExit.addActionListener(new java.awt.event.ActionListener() public void actionPer
9、formed(java.awt.event.ActionEvent evt) menuItemExitActionPerformed(evt); . . ); private void menuItemExitActionPerformed(java.awt.event.ActionEvent evt) exit();/用戶添加的代碼 ,7.3.2 設(shè)計對話框,對話框根據(jù)其顯示模式分為模態(tài)對話框和非模態(tài)對話框。模態(tài)對話框在用戶處理它之前不允許用戶同應(yīng)用程序的主窗口進行交互。非模態(tài)對話框允許用戶同時在該對話框和程序其他窗體中切換操作,而不用關(guān)閉該對話框。 Java類庫中現(xiàn)成的專用對話框包括:用于
10、顯示消息的選項對話框(JOptionPane),以及一些標(biāo)準(zhǔn)對話框,如:文件選擇對話框(JFileChooser)、顏色選擇對話框(JColorChooser)。 選項對話框JOptionPane是典型的模態(tài)對話框。JOptionPane有四個靜態(tài)方法來顯示不同類型的消息,它們是:showMessageDialog、showConfirmDialog、showOptionDialog、showInputDialog。 文件選擇對話框(JFileChooser),可以允許用戶通過一個圖形化文件系統(tǒng)瀏覽程序訪問文件系統(tǒng),打開(調(diào)用showOpenDialog方法)或保存(調(diào)用showSaveDia
11、log方法)一個文件。 自定義對話框是繼承自JDialog基類,并由程序員自己設(shè)計的對話框。,7.4 設(shè)計算法,在單詞贏家軟件中,要求程序能夠從詞庫文件中解析出單詞的中英文對照字符串,并將50個詞匯一組生成一個供測試的單詞組。用戶一次進行一組詞匯的英譯中或中譯英的選擇題測試。其核心的算法涉及: 如何從詞庫文件中解析出單詞的中英文對照字符串,并生成測試單詞組。其中包括了順序生成和隨機生成50個測試詞匯。 如何產(chǎn)生測試選擇題的4個選項,其中要求正確答案的ABCD位置隨機變化以及隨機生成另外3個用于干擾的假答案。 如何在圖形界面上實現(xiàn)用戶交互,完成答題過程。,7.5 完成和部署應(yīng)用程序,完成Word
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45125-2025數(shù)字印刷材料用酚醛樹脂軟化點的測定顯微熔點儀法
- 河道下踏步施工方案
- 河鋼廣場施工方案
- 沙坪壩地毯施工方案
- 二零二五年度農(nóng)村土地墳地租賃與墓園墓碑清洗服務(wù)協(xié)議
- 美容院員工晉升與發(fā)展激勵合同(2025年度)
- 2025年度駕校教練員車輛保險承包合同
- 二零二五年度溫泉度假村股份合作協(xié)議
- 二零二五年度農(nóng)業(yè)技術(shù)居間保密合同
- 二零二五年度醫(yī)院間醫(yī)療信息共享與數(shù)據(jù)安全協(xié)議
- 鍍鋅管理論重量表常用
- ISO9001ISO14001ISO45001內(nèi)審檢查表
- 現(xiàn)代密碼學(xué)公鑰密碼體制課件
- 鐵總計統(tǒng)【2017】177號關(guān)于進一步加強鐵路建設(shè)項目征地拆遷工作和費用管理的指導(dǎo)意見
- 電子技術(shù)基礎(chǔ)與技能-(3)
- 部編版四年級下冊語文第二單元課文教材分析及全部教案
- 電動車銷售合同
- 美術(shù)開學(xué)第一課(課堂PPT)
- 出生證明委托書(共2頁)
- 刑釋解教人員安置幫教工作檔案
- 內(nèi)部審計發(fā)展史
評論
0/150
提交評論