JAVA項(xiàng)目實(shí)訓(xùn)文檔_第1頁(yè)
JAVA項(xiàng)目實(shí)訓(xùn)文檔_第2頁(yè)
JAVA項(xiàng)目實(shí)訓(xùn)文檔_第3頁(yè)
JAVA項(xiàng)目實(shí)訓(xùn)文檔_第4頁(yè)
JAVA項(xiàng)目實(shí)訓(xùn)文檔_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、 可修改 歡迎下載 精品 Word 可修改 歡迎下載 精品 Word 可修改 歡迎下載 精品 WordJAVA工程實(shí)訓(xùn)文檔工程名稱(chēng):在Netbeans下實(shí)現(xiàn)記事本程序設(shè)計(jì)內(nèi)容:仿照windows提供的記事本設(shè)計(jì)一個(gè)功能類(lèi)似的程序具體設(shè)計(jì):一、 建立工程1、 開(kāi)始之前使用NetBeans IDE開(kāi)發(fā)JAVA程序,需要安裝如下軟件:l J2SETM Development Kit JDK ,版本最好是1.5以上l NetBeans IDE這兩個(gè)軟件都是免費(fèi)的,可以到網(wǎng)上下載。下載完畢后需要先安裝好JDK,然后再安裝NetBeans IDE5.5,安裝完畢后,就可以翻開(kāi)NetBeans IDE,開(kāi)始

2、我們的學(xué)習(xí)歷程了。2、 建立記事本工程N(yùn)etBeans是以工程的方式來(lái)管理程序的,通常一個(gè)程序就是一個(gè)工程。所以我們創(chuàng)立JAVA程序的第一步就是建立工程。1選擇NetBeans的文件菜單新建工程,根據(jù)向?qū)鐖D1所示選擇“常規(guī),“ java應(yīng)用程序,然后轉(zhuǎn)入下一步。 2向?qū)У牡诙饺鐖D2所示,需要設(shè)置工程的一些信息。我們把工程名稱(chēng)定為NoteSys,設(shè)置好工程保存位置,此時(shí)先不創(chuàng)立主類(lèi),所以去掉創(chuàng)立主類(lèi)復(fù)選框的對(duì)號(hào),單擊完成即創(chuàng)立好一個(gè)工程 3工程建立之后NetBeans界面如圖3: 知識(shí)點(diǎn)整理:l 從圖1可以看到,使用NetBeans還可以創(chuàng)立web程序和企業(yè)程序,我們這里創(chuàng)立的是桌面應(yīng)用程序

3、。l 可以在建立工程時(shí)創(chuàng)立主類(lèi),也可以不創(chuàng)立,留到工程建立好后再創(chuàng)立l 工程建立好之后就可以在NetBeans IDE環(huán)境中看到剛剛創(chuàng)立的工程圖3。NetBeans的文件組織分為兩種方式:工程組織方式和文件組織方式。工程組織方式中整個(gè)工程N(yùn)oteSys包括:源包、測(cè)試包、庫(kù)和測(cè)試庫(kù),源包再由假設(shè)干java文件構(gòu)成。文件組織方式按照實(shí)際的物理存放目錄組織,即工程在硬盤(pán)上的存放路徑。整個(gè)工程N(yùn)oteSys包括src、build等幾個(gè)文件夾。l 工程建立好后,在源包上單擊右鍵可以創(chuàng)立包和其他的java文件,在創(chuàng)立的包上單擊右鍵也可以創(chuàng)立各種java文件,見(jiàn)圖4 經(jīng)過(guò)這樣幾個(gè)步驟,我們就建立了一個(gè)桌面

4、程序工程N(yùn)oteSys,接下來(lái)就是在IDE中對(duì)工程進(jìn)行開(kāi)發(fā),首先我們先看如何建立程序的界面。二、 構(gòu)建記事本GUI界面NetBeans IDE 的 GUI 生成器經(jīng)過(guò)了不斷的改進(jìn),截至 NetBeans 5.0 版本時(shí),它已變得更為強(qiáng)大、更具直觀性了。用戶無(wú)需深入了解布局管理器,就可以生成具有專(zhuān)業(yè)外觀的 GUI。在NetBeans中以可視化的方式來(lái)生成界面,我們只需將組件放置在所需的位置,就可以完成窗體布局的設(shè)置。下面的步驟將帶著大家制作記事本的界面,也會(huì)讓大家領(lǐng)略到NetBeans中構(gòu)建GUI界面的方便和高效。1、 建立窗體在工程視圖的源代碼包上單擊右鍵創(chuàng)立一個(gè)包包名為qiu.notesys

5、,然后在qiu.notesys包上單擊右鍵創(chuàng)立一個(gè)jFrame類(lèi)類(lèi)名為WinNote.java,此即為記事本的窗體,我們將在該窗體上添加其他組件構(gòu)建記事本的界面。如圖5 根據(jù)圖5,NetBeans 的GUI 生成器的各種窗口包括: l 工程和文件區(qū)域:顯示整個(gè)工程的文件,采用工程和文件兩中方式組織。可以通過(guò)該窗口管理java文件,包括對(duì)java文件的新建,刪除,編譯,運(yùn)行等操作l 檢查器:提供所有組件的表示,包括在應(yīng)用程序中表示為樹(shù)狀分層結(jié)構(gòu)的可視和非可視組件。并允許您在可用面板中組織這些組件,而且添加組件,設(shè)置組件的屬性和事件也可以在檢查器內(nèi)完成。l 設(shè)計(jì)區(qū)域:GUI 生成器用于創(chuàng)立和編輯

6、Java GUI 窗體的主窗口。通過(guò)使用工具欄的“源和“設(shè)計(jì)切換按鈕,可以查看類(lèi)的源代碼或其 GUI 組件的圖形視圖。l 組件面板:可用組件的可定制列表,包含 JFC/Swing、AWT 和 JavaBean 組件的標(biāo)簽以及布局管理器。此外,還可以使用定制器來(lái)創(chuàng)立、刪除和重新排列組件面板中顯示的類(lèi)別。 l “屬性窗口。顯示 GUI 生成器、“檢查器窗口、“工程窗口或“文件窗口中當(dāng)前選定組件的屬性。 l 調(diào)試和輸出窗口:位于窗口的最下方,顯示調(diào)試程序的信息和輸出信息。注意:如果單擊“源按鈕,IDE 將在編輯器中顯示應(yīng)用程序的 Java 源代碼,其中包含 GUI 生成器自動(dòng)生成的代碼局部,這局部以

7、藍(lán)色區(qū)域表示,稱(chēng)為“被保護(hù)的塊。被保護(hù)的塊是“源視圖中無(wú)法編輯的受保護(hù)區(qū)域。處于“源視圖中時(shí),只能編輯出現(xiàn)在編輯器白色區(qū)域中的代碼。如果需要對(duì)被保護(hù)的塊中的代碼進(jìn)行更改,請(qǐng)單擊“設(shè)計(jì)按鈕以便從 IDE 的編輯器切換到 GUI 生成器,然后在生成器中對(duì)窗體進(jìn)行必要的調(diào)整。保存更改時(shí),IDE 將更新文件的源代碼窗體建立好了,整個(gè)界面的根底也就有了。下面我們就可以在該窗體上添加其他組件,來(lái)完成整個(gè)界面工作了。2、 添加菜單1參加菜單l 在組件面板中選擇JMenuBar,將其拖拽入我們的JFrame主窗體。l 在設(shè)計(jì)視圖時(shí),屏幕右側(cè)的檢查器會(huì)檢查出所有的可視組件,我們?cè)跈z查器中找到剛剛推拽的JMenu

8、Bar,點(diǎn)擊右鍵,在右鍵彈出菜單中選擇【更改變量名稱(chēng)】,此時(shí)彈出重命名窗體,我們?cè)谛陆Q(chēng)中填寫(xiě)jmb,然后點(diǎn)擊“完成按鈕,此時(shí)我們的JMenuBar就成功創(chuàng)立了。l 對(duì)于每個(gè)菜單來(lái)說(shuō),還需要?jiǎng)?chuàng)立一個(gè)菜單對(duì)象,然后把此頂層菜單添加到菜單欄中,接著在菜單對(duì)象中添加菜單項(xiàng)、分隔符以及子菜單。對(duì)于【文件】【新建】而言,我們應(yīng)首先將【文件】這個(gè)菜單對(duì)象創(chuàng)立,然后將【新建】菜單項(xiàng)添加到【文件】菜單項(xiàng)選擇項(xiàng)中。參考圖6,具體步驟如下:i. 在檢查器中,右鍵點(diǎn)擊jmb,在彈出菜單中,選擇【添加JMenu】,此時(shí)檢查器中在jmb下面添加了一個(gè)新的JMenu菜單對(duì)象。ii. 右鍵點(diǎn)擊JMenu菜單對(duì)象,在彈出的

9、右鍵菜單中選擇【更改變量名稱(chēng)】,將其新建名稱(chēng)更改為“fileMenu。iii. 右鍵點(diǎn)擊“fileMenu菜單對(duì)象,在彈出菜單中選擇【添加】【JMenuItem】可在此菜單中添加菜單項(xiàng),分隔符,子菜單等,此時(shí)在“fileMenu菜單對(duì)象中添加了一個(gè)菜單項(xiàng),我們將此菜單項(xiàng)更名為“newMenu。這樣文件菜單和新建菜單項(xiàng)就建立好了。 知識(shí)點(diǎn)整理:l 添加組件的方法1到組件面板單擊需要的組件2移動(dòng)鼠標(biāo)到窗體,此時(shí)剛單擊過(guò)的組件會(huì)跟隨鼠標(biāo)移動(dòng),并且靠近窗體邊緣或其他組件附近時(shí),會(huì)出現(xiàn)虛線來(lái)指示放置組件的位置。3確定好放置位置后,再次單擊鼠標(biāo)即可把組件添加好l 修改組件大小添加組件之后,單擊組件,組件周

10、圍會(huì)出現(xiàn)一些白色方塊,把鼠標(biāo)移動(dòng)到其上,拖動(dòng)鼠標(biāo)那么可改變組件大小右擊組件,在菜單中選中“自動(dòng)調(diào)整大小的垂直和水平菜單,那么運(yùn)行程序時(shí),組件會(huì)隨著窗口的大小變化而變化。l 對(duì)齊組件添加組件時(shí),NetBeans提供了虛線指示,所以很容易對(duì)齊組件。此外,按住shift鍵選擇多個(gè)組件,使用設(shè)計(jì)區(qū)域上方的一組對(duì)齊按鈕也可對(duì)齊組件l 菜單組件NetBeans 中通過(guò)JMenuBar組件來(lái)創(chuàng)立菜單,添加JMenuBar后,通過(guò)右擊檢查器中的JMenuBar可以添加頂層菜單,通過(guò)右擊頂層菜單可以添加菜單項(xiàng)和分割線等,而頂層菜單和菜單項(xiàng)的變量名稱(chēng)和顯示文字等可以通過(guò)其右鍵菜單來(lái)設(shè)置。2關(guān)于菜單的幾個(gè)操作l 給

11、菜單添加圖標(biāo)菜單項(xiàng)顯示圖標(biāo)會(huì)使菜單看上去更加美觀,而且含義清晰的圖標(biāo)也會(huì)增加程序的易用性,所以我們有時(shí)需要給菜單添加一些圖標(biāo)。方法如下:右擊源包建立一個(gè)包名稱(chēng)為res,通過(guò)該包的物理路徑向該包內(nèi)放一些圖標(biāo),然后翻開(kāi)菜單項(xiàng)的屬性窗口,通過(guò)菜單的ico屬性,指定類(lèi)路徑選項(xiàng),然后選擇包res中的圖標(biāo)文件就可以把圖標(biāo)參加到菜單中。下面以新建菜單為例:在檢查器中,右鍵點(diǎn)擊“newMenu,在彈出菜單中,選擇【屬性】,此時(shí)彈出一個(gè)可以修改屬性和事件的對(duì)話框,我們選擇屬性選項(xiàng)卡,找到ico屬性,點(diǎn)擊ico屬性對(duì)應(yīng)的按鈕,如圖7: 此時(shí)彈出一個(gè)圖片選擇對(duì)話框,我們選擇類(lèi)路徑,并在當(dāng)前類(lèi)路徑下選擇圖片文件,點(diǎn)擊

12、“確定按鈕,這時(shí)我們菜單的圖片就添加上了l 給菜單設(shè)置加速鍵加速鍵的作用就是程序運(yùn)行中可以通過(guò)使用ALT加字母的方式快速翻開(kāi)菜單。NetBeans中,在菜單的text屬性指定的名字后面加上一個(gè)括號(hào)和一個(gè)大寫(xiě)字母,例如新建的text為“新建N然后把屬性mnemonic設(shè)置成剛剛指定的大寫(xiě)字母即可,此時(shí)通過(guò)ALT加該字母就可以訪問(wèn)該菜單了l 給菜單設(shè)置快捷鍵菜單的快捷鍵可以使用戶用快捷鍵來(lái)執(zhí)行某個(gè)菜單的操作。切換到代碼編輯器窗口,在代碼編輯器中創(chuàng)立一個(gè)方法setMenuAccelerator ,在方法中為需要設(shè)置快捷鍵的菜單參加設(shè)置語(yǔ)句即可,新建菜單的快捷鍵設(shè)置如下這樣,當(dāng)我們按下Ctrl+N時(shí),

13、就可執(zhí)行新建命令了。最后在主類(lèi)WinNote.java的構(gòu)造方法中調(diào)用該方法即可。知識(shí)點(diǎn)整理:l NetBeans中,在可視化的方式中就可以順利完成菜單的各種復(fù)雜設(shè)置,包括頂層菜單、菜單項(xiàng)、分割線等的添加以及其他菜單的相關(guān)設(shè)置l 菜單使用的圖標(biāo)我們事先放到了一個(gè)包內(nèi),然后以類(lèi)路徑的方式參加到了菜單中,這樣類(lèi)路徑并不依賴(lài)某個(gè)具體路徑,所以使程序易于移植。3按照剛剛的方法給記事本添加表1所示的菜單菜單項(xiàng) 菜單變量名 快捷鍵 加速器【文件】【新建】 【fileMenu】【newMenu】 FN Ctrl+N【文件】【翻開(kāi)】 【fileMenu】【openMenu】 FO Ctrl+O【文件】【保存】

14、 【fileMenu】【saveMenu】 FS Ctrl+S【文件】【退出】 【fileMenu】【exitMenu】 FX 【編輯】【剪切】 【editMenu】【cutMenu】 ET Ctrl+X【編輯】【拷貝】 【editMenu】【copyMenu】 EC Ctrl+C【編輯】【粘貼】 【editMenu】【pasterMenu】 EP Ctrl+V【編輯】【全選】 【editMenu】【selectAllMenu】 EA Ctrl+A【格式】【顏色】 【editMenu】【colorMenu】 EF Alt+F【幫助】【關(guān)于】 【helpMenu】【aboutMenu】 HA 3

15、、 添加工具欄NetBeans中,工具欄由JToolBar組件和按鈕JButton組件組合起來(lái)實(shí)現(xiàn)的。我們首先在組件面板中找到JToolBar組件,并將其拖入我們的主窗體,然后根據(jù)需要在jtoolBar中放置一些按鈕,設(shè)置好按鈕的ico圖標(biāo)和tooltiptext按鈕提示屬性設(shè)計(jì)表2所示的工具欄放置順序 變量名稱(chēng) 功能 工具提示1 newButton 新建文件 新建2 openButton 翻開(kāi)本地文件 翻開(kāi)3 saveButton 保存文件到本地 保存4 cutButton 剪切 剪切5 copyButton 拷貝 復(fù)制6 plasterButton 粘貼 粘貼4、 參加文本框NetBean

16、s提供幾個(gè)顯示編輯文本的組件,我們使用JTextArea來(lái)實(shí)現(xiàn)。從面板中找到JTextArea,參加到窗體上這樣,我們的記事本界面就制作完畢了,在工程窗口中,找到WinNote.java,右擊選擇編譯文件,NetBeans那么對(duì)該文件進(jìn)行編譯,編譯成功后,在運(yùn)行文件即可啟動(dòng)程序,運(yùn)行效果如圖8: 三、 翻開(kāi)與保存在上一節(jié)中我們已經(jīng)完成了記事本的界面,也從中學(xué)習(xí)了一些構(gòu)建GUI的方法和技巧。從本節(jié)開(kāi)始將要討論記事本的功能開(kāi)發(fā),先看如何翻開(kāi)和保存文件。當(dāng)然在表達(dá)過(guò)程中會(huì)講解如何使用NetBeans的代碼編輯器的一些用法。1、 翻開(kāi)文件使用記事本翻開(kāi)一個(gè)已有的文本文件需要涉及到如下問(wèn)題:l 如何控制

17、要翻開(kāi)文件的類(lèi)型,即只能翻開(kāi)文本文件l 翻開(kāi)對(duì)話框如何實(shí)現(xiàn)l 如何從硬盤(pán)上讀入文件內(nèi)容到記事本中下面依次討論這三個(gè)問(wèn)題的解決方案1 控制要翻開(kāi)文件的類(lèi)型FileFilter類(lèi)JAVA中的FileFilter類(lèi)可以很好的解決這個(gè)問(wèn)題,F(xiàn)ileFilter 是一個(gè)沒(méi)有默認(rèn)實(shí)現(xiàn)的抽象類(lèi)。 一經(jīng)實(shí)現(xiàn)便可以設(shè)置在 JFileChoose上,以阻止不需要的文件出現(xiàn)在目錄清單中。所以我們自己寫(xiě)一個(gè)類(lèi)繼承自FileFilter,然后實(shí)現(xiàn)FileFilter類(lèi)的方法即可,具體如下:l 右擊qiu.notesys包新建一個(gè)類(lèi)名稱(chēng)為T(mén)extFilter,此時(shí)該類(lèi)的內(nèi)容如下 l 在類(lèi)名TextFilter后輸入ext

18、ends FileFilter,即繼承自FileFilter類(lèi)。此時(shí)NetBeans代碼編輯器會(huì)自動(dòng)掃描代碼,發(fā)現(xiàn)該行代碼的錯(cuò)誤并且用紅線標(biāo)出,這時(shí)把鼠標(biāo)移動(dòng)到該行,Net其中標(biāo)紅的都是代碼編輯器自動(dòng)添加的。從此處也可以看出使用NetBeans寫(xiě)代碼會(huì)非常的省時(shí)省力。l 最后我們實(shí)現(xiàn)TextFilter類(lèi)的抽象方法,代碼如下 這樣就實(shí)現(xiàn)了一個(gè)只顯示“txt或“doc類(lèi)型文件的過(guò)濾器類(lèi)TextFilter,用他可是方便的過(guò)濾文件。知識(shí)點(diǎn)整理:l 代碼編輯器可以自動(dòng)查找代碼錯(cuò)誤,并標(biāo)出紅線提示,此時(shí)把鼠標(biāo)放到錯(cuò)誤行上面會(huì)出現(xiàn)錯(cuò)誤原因的提示l 單擊錯(cuò)誤行前的小燈泡,代碼編輯器會(huì)給出修改錯(cuò)誤方案并能自

19、動(dòng)修復(fù)錯(cuò)誤l 書(shū)寫(xiě)代碼時(shí)可以不用過(guò)分考慮代碼的縮進(jìn)格式,代碼寫(xiě)完后使用“Ctrl+Shift+F組合鍵,代碼編輯器會(huì)自動(dòng)調(diào)整代碼格式2 翻開(kāi)已有文件jFileChooser組件NetBeans提供了一個(gè)文件選擇組件jFileChooser,為用戶選擇文件提供了一種簡(jiǎn)單的機(jī)制,使用他可以方便調(diào)用翻開(kāi)對(duì)話框和保存對(duì)話框。我們首先添加一個(gè)jFileChooser,其用法在下一步中介紹。添加該組件的具體操作是:在工程中選擇WinNote,切換到設(shè)計(jì)視圖,此時(shí)檢查器中會(huì)顯示W(wǎng)inNote的所有組件以及組件之間的組織層次,由于翻開(kāi)對(duì)話框是獨(dú)立的,并不依附主窗口,所以我們把該組件添加到“其他組件內(nèi),在“其他

20、組件上右擊,從組件面板上添加SWINGjFileChooser,即可把jFileChooser添加到工程中,此后我們就可以使用它了。3 讀入文件java中的I/O操作JAVA中為實(shí)現(xiàn)文本輸入輸出提供一些專(zhuān)門(mén)的類(lèi),常用的有FileReader、FileWriter和BufferedReader、BufferdWriter幾個(gè)類(lèi)。這里我們綜合利用BufferedReader、FileReader以及剛剛的jFileChooser組件來(lái)完成對(duì)文件的翻開(kāi)操作,此外,翻開(kāi)操作是通過(guò)翻開(kāi)菜單來(lái)激發(fā)的,所以我們首先實(shí)現(xiàn)翻開(kāi)菜單的事件,參見(jiàn)圖9l 切換到WinNote的設(shè)計(jì)視圖l 到檢查器窗口找到“翻開(kāi)菜單并

21、選中此時(shí)右擊也可添加一個(gè)事件l 右側(cè)的屬性窗口會(huì)顯示該菜單的相關(guān)信息,選擇事件,該窗口就列出了該菜單支持的所有的事件l 找到actionPerformed事件,單擊后面的按鈕,就可以翻開(kāi)添加事件的對(duì)話框,添加一個(gè)事件即可 添加好事件后,給事件添加如下代碼: 知識(shí)點(diǎn)整理:l NetBeans中通過(guò)屬性窗口可以方便的給組件和菜單添加事件和管理事件,而不用考慮過(guò)多的事件內(nèi)部細(xì)節(jié)l JAVA中的輸入輸出1 FileReader類(lèi)是用來(lái)讀取字符文件的便捷類(lèi),在給定了需要讀取數(shù)據(jù)的文件名的情況下創(chuàng)立一個(gè)新 FileReader,然后使用其read方法可以讀取字符流,但其所作的每個(gè)讀取請(qǐng)求都會(huì)導(dǎo)致對(duì)根底字符

22、或字節(jié)流進(jìn)行相應(yīng)的讀取請(qǐng)求,效率很低。2 BufferedReader從字符輸入流中讀取文本,緩沖各個(gè)字符3 根據(jù)12,我們可以用 BufferedReader 包裝read操作效率很低的FileReader,采用如下方式: BufferedReader in = new BufferedReadernew FileReaderfilename;這樣,用FileReader讀取指定的文件,然后用BufferedReader來(lái)緩沖,最后在用read或readline方法讀取文件。防止了每次調(diào)用 read 或 readLine 都會(huì)從文件中讀取字節(jié),并將其轉(zhuǎn)換為字符后返回的低效做法此外,F(xiàn)ileW

23、riter是寫(xiě)入字符文件的便捷類(lèi),用于寫(xiě)入字符流。BufferdWriter類(lèi)提供緩沖,因此也可以綜合使用這兩個(gè)類(lèi)完成寫(xiě)入文件的操作。2、 保存文件保存文件的實(shí)現(xiàn)和翻開(kāi)非常類(lèi)似,也是通過(guò)TextFilter類(lèi)控制保存的文件類(lèi)型,通過(guò)jFileChooser來(lái)調(diào)用保存對(duì)話框,通過(guò)文件輸入輸出操作來(lái)寫(xiě)文件。具體做法請(qǐng)讀者自己研究。四、 其他功能的實(shí)現(xiàn)有了翻開(kāi)與保存,我們的記事本已經(jīng)可以操作文件,本節(jié)將帶著大家完成記事本剩余的幾個(gè)重要功能。1、剪切操作添加好剪切菜單的actionPerformed事件,在事件內(nèi)寫(xiě)如下代碼editor.cut;其中editor是文本框jTextArea。這樣就實(shí)現(xiàn)了剪

24、切操作,其余的全選、復(fù)制、粘貼與此類(lèi)似,不再細(xì)說(shuō)2、文本顏色NetBeans提供了一個(gè)jColorChooser組件,使用它可以方便的實(shí)現(xiàn)顏色設(shè)置。該組件顯示有模式的顏色選取器,在隱藏對(duì)話框之前一直阻塞。如果用戶按下“OK按鈕,那么此方法隱藏/釋放對(duì)話框并返回所選顏色。如果用戶按下“Cancel按鈕或者在沒(méi)有按“OK的情況下關(guān)閉對(duì)話框,那么此方法隱藏/釋放對(duì)話框并返回 null。因此,我們添加一個(gè)jColorChooser,利用它選取顏色即可。參見(jiàn)圖10在檢查器窗口內(nèi)右擊“其它組件,添加一個(gè)jColorChooser,修改變量名為ColorChooser,然后添加顏色菜單的事件,在事件內(nèi)參加如

25、下代碼: 第一句代碼創(chuàng)立了一個(gè)Color對(duì)象,該對(duì)象返回了jColorChooser組件中被選擇的顏色jColorChooser的構(gòu)造方法中的三個(gè)參數(shù)分別是:對(duì)話框的父 Component,對(duì)話框標(biāo)題和顯示顏色選取器時(shí)的初始 Color 設(shè)置,第二句代碼那么是設(shè)置文本顏色。 3、撤銷(xiāo)操作JAVA中提供了撤銷(xiāo)管理器類(lèi)UndoManager,通過(guò)該類(lèi)提供的方法,我們可以方便實(shí)現(xiàn)撤銷(xiāo)與恢復(fù)操作,具體操作如下:l 首先聲明一個(gè)UndoManager的對(duì)象,代碼如下:UndoManager undoManager = new UndoManager;l 因?yàn)槌蜂N(xiāo)和恢復(fù)都是針對(duì)文本框進(jìn)行的,所以需要對(duì)文本

26、框jTextArea進(jìn)行監(jiān)視,翻開(kāi)文本框的AncestorAdded事件,填入如下代碼 這樣撤銷(xiāo)管理器就有效的對(duì)文本進(jìn)行監(jiān)視,一旦需要撤銷(xiāo)或恢復(fù)操作,直接調(diào)用撤銷(xiāo)管理器的方法即可l 最后在撤銷(xiāo)菜單的actionPerformed事件中寫(xiě)一句“undoManager.undo;,在恢復(fù)菜單的actionPerformed事件寫(xiě)一句“undoManager.redo;就可以了。4、新建與退出新建與退出都會(huì)涉及到如下兩個(gè)問(wèn)題:l 如何判斷文檔是否發(fā)生變化l 假設(shè)文檔已改變,如何調(diào)用對(duì)話框詢(xún)問(wèn)用戶是否保存當(dāng)前文檔對(duì)于第一個(gè)問(wèn)題,文本組件jTextArea沒(méi)有提供相關(guān)方法,但是我們可以定義一個(gè)全局變量,

27、讓他存儲(chǔ)初始的文檔內(nèi)容,然后新建或退出時(shí)在比較該變量和當(dāng)前文檔內(nèi)容,相同那么不必詢(xún)問(wèn)是否保存,否那么調(diào)用對(duì)話框詢(xún)問(wèn)是否保存。對(duì)于第二個(gè)問(wèn)題,使用jOptionPane組件即可實(shí)現(xiàn),JOptionPane 有助于方便地彈出要求用戶提供值或向其發(fā)出通知的標(biāo)準(zhǔn)對(duì)話框,對(duì)JOptionPane組件的方法調(diào)用通常有如下幾個(gè):方法名 描述showConfirmDialog 詢(xún)問(wèn)一個(gè)確認(rèn)問(wèn)題,如 yes/no/cancel。showInputDialog 提示要求某些輸入。showMessageDialog 告知用戶某事已發(fā)生。showOptionDialog 上述三項(xiàng)的大統(tǒng)一 Grand Unificat

28、ion。每個(gè)調(diào)用方法的參數(shù)很多,這里不再細(xì)說(shuō),請(qǐng)查看API手冊(cè),我們使用JOptionPane組件的第一個(gè)方法showConfirmDialog來(lái)實(shí)現(xiàn)新建和退出需要的對(duì)話框。1新建代碼 2退出退出代碼與新建類(lèi)似,也是判斷文檔是否改變,然后通過(guò)對(duì)話框提示用戶是否保存,然后在退出。5、幫助與關(guān)于窗口的制作關(guān)于的主要目的是通過(guò)一個(gè)窗口展示有關(guān)于程序的一些信息和作者的相關(guān)信息,這里我們建立一個(gè)jPanel窗口類(lèi),然后在窗口上添加JTabbedPane、jPanel、jLabel等幾個(gè)組件就可以實(shí)現(xiàn)了。具體操作如下:l 右擊qiu.notesys包,添加一個(gè)jPanel窗口類(lèi)l 找到檢查器中的jPane

29、l,右擊,添加JTabbedPane組件,再右擊JTabbedPane,添加兩個(gè)jPanel組件,這時(shí)JTabbedPane就有了兩個(gè)選項(xiàng)卡:tab1和tab2,這兩個(gè)選項(xiàng)卡是由jPanel組件構(gòu)成的。最后在分別給兩個(gè)選項(xiàng)卡添加幾個(gè)jLabel。l jLabel組件可以顯示文字和圖片,所以根據(jù)情況添加相關(guān)信息就可以了,最后通過(guò)主類(lèi)WinNote的關(guān)于菜單調(diào)用該窗口即可。效果如圖11: 知識(shí)點(diǎn)整理l 全選、復(fù)制、粘貼和剪切等操作使用jTextArea組件自身的方法就可以實(shí)現(xiàn)l 文本顏色使用jColorChooser組件實(shí)現(xiàn)。我們并沒(méi)有講解如何實(shí)現(xiàn)字體設(shè)置功能,因?yàn)镹etBeans沒(méi)有提供字體對(duì)話

30、框組件,需要我們自己設(shè)計(jì)實(shí)現(xiàn)字體對(duì)話框的功能,因?yàn)橛行?fù)雜,所以沒(méi)有講,請(qǐng)參看我的源代碼l 撤銷(xiāo)操作有撤銷(xiāo)管理器類(lèi)UndoManager實(shí)現(xiàn),可以連續(xù)屢次撤銷(xiāo)或恢復(fù)l 新建與退出用到了JOptionPane組件,它可以方便地彈出要求用戶提供值或向其發(fā)出通知的標(biāo)準(zhǔn)對(duì)話框l 幫助和關(guān)于窗口使用了JTabbedPane組件,它允許用戶通過(guò)單擊具有給定標(biāo)題和圖標(biāo)的選項(xiàng)卡,在一組組件之間進(jìn)行切換,一般采用jPanel組件作為選項(xiàng)卡間的切換組件。五、NetBeans中的工程操作經(jīng)過(guò)前面的學(xué)習(xí),相信大家已經(jīng)能夠做出一個(gè)簡(jiǎn)易的記事本程序了,接下來(lái)就要思考如何完成這個(gè)工程,并且能夠讓工程獨(dú)立運(yùn)行?,F(xiàn)在,我們來(lái)學(xué)習(xí)NetBeans中對(duì)整個(gè)工程的

溫馨提示

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