JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第1頁
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第2頁
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第3頁
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第4頁
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章 程序設計案例分析,Java為我們設計圖形界面應用程序提供了豐富的GUI組件,但是Java圖形界面應用程序的設計仍然比較復雜。本章我們配合這章內容將介紹一個設計案例單詞贏家軟件。通過剖析和研究該應用程序的設計過程,我們不僅可以對窗體、菜單、組件、事件、布局等的設計有一個感性的綜合的了解,還可以掌握使用開發(fā)工具(NetBeans IDE)完成開發(fā)項目的一般過程和方法,積累實際編程經驗。,7.1 可視化程序設計與NetBeans IDE,可視化程序設計是基于圖形用戶界面(GUI)和可視化組件的一種快速應用開發(fā)(RAD)方法;可視化程序設計可以根據用戶需求快速建立原型,驗證并實現用戶需求;并通過所見即所得的開發(fā)提高編程工作的效率。 Java有一些優(yōu)秀的可視化編程工具提供了功能有限的可視化程序設計開發(fā)環(huán)境,但目前Java程序設計無法完全依賴于可視化編程工具的支持,仍然有很多工作需要手工編程來完成。 NetBeans IDE提供了一些工具,可幫助我們以可視化方式設計和生成Java窗體,簡化圖形用戶界面的設計過程,這些工具包括窗體編輯器、檢查器窗口、組件面板窗口、屬性窗口、連接向導。,7.1 可視化程序設計與NetBeans IDE,窗體編輯器,檢查器窗口,組件面板窗口,屬性窗口,項目窗口,使用NetBeans IDE在窗體編輯器“設計”視圖中處理某個窗體時,將自動生成代碼,并在“源”視圖中以藍色背景顯示這些代碼。此代碼稱為“受保護文本”,不能直接對其進行編輯。,7.2 設計窗體,Java應用程序的窗體包括:用作頂層窗體的框架窗體(JFrame);用于放置內容的面板窗體(JPanel);用于用戶交互的對話框窗體(JDialog)等。設計窗體除了要設計窗體中的GUI組件和布局外,還要設計相關的事件處理程序。 在NetBeans IDE中,可以利用新建文件向導創(chuàng)建具有選定類型的空白窗體,并獲得系統(tǒng)生成的基本代碼。,7.2.1 創(chuàng)建主窗體和主面板,在NetBeans IDE中創(chuàng)建新窗體的步驟如下: 從主菜單中選擇菜單項:“文件-新建文件”。 在“新建文件”向導中展開“Java GUI窗體”節(jié)點,然后選擇一個窗體模板“JFrame窗體”,然后單擊下一步。 在 “新建JFrame窗體”向導中輸入新建窗體的名稱和位置。然后單擊完成。 NetBeans IDE將創(chuàng)建具有選定類型的空白窗體,并在“編輯器”標簽的“設計”視圖中打開該窗體。,7.2.2 組件與布局設計,在NetBeans IDE可視化設計時,使用“組件面板”窗口、窗體編輯器或“檢查器”窗口來添加組件并更改大多數容器的布局。 可以先利用AbsoluteLayout布局設計好程序界面,然后再將容器的絕對布局轉化成合適的相對布局。如果容器中的GUI元素比較復雜,則可以轉化為功能強大的GridBagLayout布局。,7.2.3 添加事件,在NetBeans IDE可視化設計時,可以使用組件的“屬性”窗口或上下文菜單添加事件,定義事件處理程序。系統(tǒng)將自動生成事件監(jiān)聽器的代碼和處理程序方法的空主體。 我們可以使用組件的“屬性”窗口或上下文菜單定義事件處理程序。使用“屬性”窗口定義事件處理程序的步驟如下(以startButton的Action事件為例): 在“檢查器”窗口中選擇組件startButton,然后在“屬性”窗口中單擊“事件”。 在列表中單擊所需事件的值actionPerformed。初始時,所有事件的值均為。當單擊值字段時,將替換為缺省事件名。 在屬性表單中,鍵入所需的處理程序名稱并按Enter鍵,或者直接按Enter鍵以使用缺省處理程序名稱。如果未按Enter鍵,將不生成任何代碼。也可以單擊事件的省略號(.) 按鈕以顯示“處理程序”對話框。單擊“添加”按鈕,將新的名稱testWord添加到處理程序列表中,然后單擊“確定”。 此時系統(tǒng)自動生成事件監(jiān)聽器的代碼和處理程序方法的空主體 。,選擇要添加的事件處理程序,/自動生成事件監(jiān)聽器的代碼(不可編輯) startButton.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) testWord(evt); /處理程序方法的空主體(方法頭不可編輯,但是方法體可編輯) private void testWord(java.awt.event.ActionEvent evt) / TODO 將在此處添加您的處理代碼: ,7.3 設計菜單和對話框,設計菜單和對話框是圖形界面應用程序的最常見特征,菜單可以用于調用不同的程序操作模塊,而通過對話框則可完成特定的設置或操作任務。,7.3.1 設計菜單,手工創(chuàng)建菜單時,需要先創(chuàng)建菜單項對象(JMenuItem的實例)、菜單對象(JMenu的實例)、菜單欄對象(JMenuBar的實例)。然后把菜單項對象添加到菜單對象中;把菜單對象添加到菜單欄對象中。最后使用setJMenuBar方法,為那個能使用菜單的容器組件添加完整的主菜單欄。使用NetBeans IDE在窗體編輯器中可視化設計菜單。 使用NetBeans IDE在窗體編輯器中可視化設計菜單,使得編寫菜單程序頗為簡單。具體步驟如下: 首先在窗體編輯器中創(chuàng)建菜單欄 然后將菜單添加到菜單欄中 接著是添加菜單項 最后為菜單項添加事件,private void initComponents() . . menuItemExit.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) menuItemExitActionPerformed(evt); . . ); private void menuItemExitActionPerformed(java.awt.event.ActionEvent evt) exit();/用戶添加的代碼 ,7.3.2 設計對話框,對話框根據其顯示模式分為模態(tài)對話框和非模態(tài)對話框。模態(tài)對話框在用戶處理它之前不允許用戶同應用程序的主窗口進行交互。非模態(tài)對話框允許用戶同時在該對話框和程序其他窗體中切換操作,而不用關閉該對話框。 Java類庫中現成的專用對話框包括:用于顯示消息的選項對話框(JOptionPane),以及一些標準對話框,如:文件選擇對話框(JFileChooser)、顏色選擇對話框(JColorChooser)。 選項對話框JOptionPane是典型的模態(tài)對話框。JOptionPane有四個靜態(tài)方法來顯示不同類型的消息,它們是:showMessageDialog、showConfirmDialog、showOptionDialog、showInputDialog。 文件選擇對話框(JFileChooser),可以允許用戶通過一個圖形化文件系統(tǒng)瀏覽程序訪問文件系統(tǒng),打開(調用showOpenDialog方法)或保存(調用showSaveDialog方法)一個文件。 自定義對話框是繼承自JDialog基類,并由程序員自己設計的對話框。,7.4 設計算法,在單詞贏家軟件中,要求程序能夠從詞庫文件中解析出單詞的中英文對照字符串,并將50個詞匯一組生成一個供測試的單詞組。用戶一次進行一組詞匯的英譯中或中譯英的選擇題測試。其核心的算法涉及: 如何從詞庫文件中解析出單詞的中英文對照字符串,并生成測試單詞組。其中包括了順序生成和隨機生成50個測試詞匯。 如何產生測試選擇題的4個選項,其中要求正確答案的ABCD位置隨機變化以及隨機生成另外3個用于干擾的假答案。 如何在圖形界面上實現用戶交互,完成答題過程。,7.5 完成和部署應用程序,完成Word

溫馨提示

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

評論

0/150

提交評論