JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第1頁(yè)
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第2頁(yè)
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第3頁(yè)
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第4頁(yè)
JohoLewis《JavaSoftwareSolutions》第六版課件第七章.pps_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

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

溫馨提示

  • 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)論