NetBeans 6.0教程:模塊快速入門(mén)
按照如下做法去做,利用NetBeans APIs去增強(qiáng)應(yīng)用程序的功能集合。具體做法,你創(chuàng)建一個(gè)被工具欄上的一個(gè)按鈕調(diào)用的動(dòng)作,然后創(chuàng)建一個(gè)包含JLabel和JTextField的Swing面板作為GUI組件。最終你重寫(xiě)動(dòng)作的getToolbarPresenter() 方法返回這個(gè)JPanel顯示在工具欄中來(lái)代替按鈕。當(dāng)這個(gè)模塊被安裝后,用戶(hù)在JTextField中鍵入查詢(xún)字符串并按下回車(chē),同時(shí)URLDisplayer類(lèi)就把這個(gè)字符串發(fā)送到IDE的默認(rèn)瀏覽器中,瀏覽器打開(kāi)并顯示查詢(xún)結(jié)果。
更多有關(guān)模塊的信息,參見(jiàn)NetBeans模塊與富客戶(hù)端應(yīng)用開(kāi)發(fā) 的NetBeans站點(diǎn)。如果有疑問(wèn),請(qǐng)?jiān)L問(wèn)NetBeans開(kāi)發(fā)疑難解答或者使用位于文檔底部的反饋列表。
軟件安裝
在你開(kāi)始本NetBeans 6.0教程之前,你應(yīng)安裝下列軟件到你的計(jì)算機(jī)中:
NetBeans IDE 6.0 (下載)
Java SE 5.0或者更高版本(下載)
安裝范例程序
看本教程的最終結(jié)果,安裝范例模塊然后在IDE中測(cè)試這個(gè)Google工具欄:
1.下載并解壓縮附件
2.在IDE中,選擇 文件>打開(kāi)項(xiàng)目 然后定位到解壓后文件的位置。選擇模塊項(xiàng)目然后點(diǎn)擊打開(kāi)項(xiàng)目文件夾。模塊項(xiàng)目將在IDE中打開(kāi)然后你將在項(xiàng)目窗口中看到如下所示的結(jié)果(根據(jù)需要展開(kāi)結(jié)點(diǎn))
3.右鍵單擊項(xiàng)目結(jié)點(diǎn)并選擇 安裝/重新加載到目標(biāo)平臺(tái)。默認(rèn)地,目標(biāo)平臺(tái)是當(dāng)前開(kāi)發(fā)模塊項(xiàng)目的IDE。然后目標(biāo)平臺(tái)打開(kāi)模塊被安裝。
4.通過(guò)測(cè)試來(lái)驗(yàn)證是否與期待的一致。
現(xiàn)在你已經(jīng)看到了最終結(jié)果,你可以重新創(chuàng)建和改寫(xiě)來(lái)學(xué)習(xí)每一個(gè)部分。
創(chuàng)建模塊項(xiàng)目
開(kāi)發(fā)模塊時(shí),你必須確保項(xiàng)目結(jié)構(gòu)的正確。netBeans IDE提供一個(gè)模塊工程向?qū)?lái)生成所有模塊所需的基本文件。
1.選擇 文件>新建項(xiàng)目。在類(lèi)別選項(xiàng)下,選擇NetBeans插件模塊。在工程下,選擇模塊項(xiàng)目。單擊下一步。
2.在名字和位置面板中,鍵入“GoogleToolbar”到項(xiàng)目名稱(chēng)文本域。改變項(xiàng)目路徑到你機(jī)器上的任意目錄。保留獨(dú)立模塊選項(xiàng)設(shè)定并設(shè)置為主項(xiàng)目,單擊下一步。
3.在基本模塊設(shè)定面板中,在代碼基本名字一欄替換“yourorghere”為“myorg”,使整個(gè)代碼基本名字是org.myorg.googletoolbar。其余保持不變。單擊完成。
IDE創(chuàng)建GoogleToolbar項(xiàng)目。這個(gè)項(xiàng)目包含了所有源碼和項(xiàng)目元數(shù)據(jù),例如項(xiàng)目的Ant構(gòu)建腳本。這個(gè)項(xiàng)目在IDE中打開(kāi),你可以在項(xiàng)目窗格中看到它的邏輯結(jié)構(gòu),在文件窗格中看到它的文件構(gòu)成。例如項(xiàng)目窗格中應(yīng)該看到如下結(jié)果:
有關(guān)上述每個(gè)文件的基本信息,參見(jiàn)NetBeans模塊開(kāi)發(fā)簡(jiǎn)介
為模塊編碼
創(chuàng)建Action
1.右鍵單擊項(xiàng)目結(jié)并選擇新建>動(dòng)作。單擊下一步
2.在動(dòng)作類(lèi)型面板中保持默認(rèn)設(shè)置,這將導(dǎo)致IDE創(chuàng)建的Action是CallableSystemAction的子類(lèi),如下所示:
單擊下一步
3.在GUI注冊(cè)面板,在類(lèi)別下拉列表中選擇 編輯。類(lèi)別下拉列表控制一個(gè)Action在“快捷鍵映射”編輯器部分中的位置。接下來(lái)反選全局菜單項(xiàng)并選擇全局工具欄按鈕。在工具欄下拉列表,選擇編輯,然后在下拉列表的位置,選擇Find...-HERE,如下圖所示:
單擊下一步
4.在名稱(chēng)與定位面板,鍵入GoogleAction作為類(lèi)名,Google Action作為顯示名,瀏覽一個(gè)16*16尺寸的圖標(biāo)。實(shí)際上你可以不使用圖標(biāo)只是你將顯示下一步創(chuàng)建的JPanel表單??墒切碌腁ction向?qū)枰阒付ㄒ粋€(gè)圖標(biāo),因此這個(gè)圖標(biāo)可以是任意尺寸。單擊完成。注意GoogleAction.java被添加到項(xiàng)目窗格的org.myorg.googletoolbar包中。
創(chuàng)建JPanel
1.右鍵單擊項(xiàng)目結(jié)點(diǎn)并選擇新建>其他。在類(lèi)別列表中,選擇Swing GUI Forms,在項(xiàng)目列表中選擇JPanel Form,單擊下一步
2.在名字和定位面板中,鍵入GooglePanel作為類(lèi)名并從下拉列表中選擇包名。單擊完成。GooglePanel.java被添加到包中并在源代碼編輯器以設(shè)計(jì)視圖的方式被打開(kāi)。
3.將光標(biāo)定位到JPanel右下角,然后選擇JPanel并拖拽光標(biāo)改變它的大小,使它的長(zhǎng)、高和工具欄一樣,如下所示
4.從托盤(pán)直接拖拽一個(gè)JTextField項(xiàng)和一個(gè)JLabel項(xiàng)到JPanel,然后重新設(shè)置JPanel和其他兩個(gè)組件的尺寸是它們做適合的布局組合,最后單擊JLabel改變顯示文字為“Google:”,然后刪除JTextField的默認(rèn)的文字。你的JPanel應(yīng)該像下圖所示:
5.確保屬性編輯窗格保持打開(kāi),然后右鍵單擊JTextField并選擇 事件>Key>keyTyped。這將在GooglePanel.java源代碼中生成jTextField1KeyTyped()方法。在代碼編輯器中看到如下內(nèi)容:
6.在代碼編輯器中,在GooglePanel.java的代碼視圖,向jTextField1KeyTyped()方法中填寫(xiě)如下內(nèi)容:
- private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {
- int i = evt.getKeyChar();
- if (i==10){//The ENTER KEY
- // we display the google url.
- try{
- URLDisplayer.getDefault().showURL
- (new URL("http://www.google.com/search?hl=en&q="+jTextField1.getText()+"&btnG=Google+Search"));
- } catch (Exception eee){
- return; //nothing much to do
- }
- }
- }
如果需要,在代碼編輯器中單擊右鍵并選擇代碼格式化
排除錯(cuò)誤
注意到代碼的一些行標(biāo)記了紅色下劃線指示錯(cuò)誤。那是因?yàn)檫€沒(méi)有導(dǎo)入所需要的包。把鼠標(biāo)光標(biāo)定位到 URLDisplayer左邊紅色下劃線高亮顯示的燈泡圖標(biāo)處,一個(gè)提示將會(huì)顯示指示了出錯(cuò)的原因:
為了解決這個(gè)錯(cuò)誤,你需要使用HtmlBrowser.URLDisplayer這個(gè)類(lèi),它包含在org.openide.awt包中,為了使你的工程可以訪問(wèn),需要按照如下方法去做:
1.在項(xiàng)目窗格中右鍵單擊項(xiàng)目節(jié)點(diǎn)并選擇屬性。在項(xiàng)目屬性對(duì)話(huà)框中,選擇類(lèi)別標(biāo)題下的庫(kù)。然后,在模塊依賴(lài)性下單擊添加按鈕。然后添加模塊依賴(lài)對(duì)話(huà)框?qū)棾鲲@示。
2.在添加模塊依賴(lài)對(duì)話(huà)框頂部的過(guò)濾文本框中,鍵入U(xiǎn)RLDisplayer然后注意返回給用戶(hù)的選擇模塊逐漸變窄,直到只剩下UI Utilities API
單擊確定,然后再單擊確定離開(kāi)項(xiàng)目屬性對(duì)話(huà)框
3.在代碼編輯器中單擊右鍵并選擇修復(fù)導(dǎo)入。修復(fù)導(dǎo)入對(duì)話(huà)框彈出,對(duì)不認(rèn)可的類(lèi)列出了建議的路徑:
單擊確定,IDE將為GooglePanel.java創(chuàng)建如下導(dǎo)入語(yǔ)句:
import java.net.URL;
import org.openide.awt.HtmlBrowser.URLDisplayer;
同時(shí)也會(huì)注意到代碼編輯器中的錯(cuò)誤都不見(jiàn)了。
重寫(xiě)getToolbarPresenter()方法
由于你剛剛創(chuàng)建的JPanel是實(shí)際顯示Google工具欄的組件,你需要重寫(xiě)Action類(lèi)的getToolbarPresenter()方法。在GoogleAction.java中,如下去做:
1.在類(lèi)的聲明下面,聲明下面的變量
GooglePanel retValue = new GooglePanel();
2.定義getToolbarPresenter()方法并返回retValue變量
- public java.awt.Component getToolbarPresenter() {
- return retValue;
- }
編譯,安裝并使用模塊
NetBeans利用一個(gè)Ant構(gòu)建腳本在IDE中編譯和安裝你的模塊。當(dāng)你在上述的創(chuàng)建模塊項(xiàng)目時(shí),構(gòu)建腳本就被創(chuàng)建了。現(xiàn)在模塊已做好編譯的準(zhǔn)備并添加到了IDE中,你可以利用NetBeans IDE的Ant支持做如下步驟:
1.在項(xiàng)目窗格,右鍵單擊GoogleToolbar項(xiàng)目結(jié)點(diǎn)并選擇 安裝/重加載到目標(biāo)平臺(tái)。然后模塊被構(gòu)建并安裝到一個(gè)IDE新的實(shí)例中去。默認(rèn)的缺省目標(biāo)平臺(tái)是開(kāi)發(fā)IDE的當(dāng)前實(shí)例所使用的安裝。目標(biāo)平臺(tái)打開(kāi)時(shí)你可以測(cè)試新模塊。
2.當(dāng)成功安裝后,模塊添加了一個(gè)新按鈕到IDE的編輯工具欄。注意盡管工具欄按鈕不會(huì)顯示一個(gè)圖標(biāo),而是顯示你創(chuàng)建的JPanel:
3.在文本域鍵入一個(gè)查詢(xún)字符串
4.按下回車(chē)。IDE的默認(rèn)瀏覽器將會(huì)啟動(dòng)。Google URL和你鍵入的查詢(xún)字符串被發(fā)送到瀏覽器然后一個(gè)查詢(xún)將被執(zhí)行。當(dāng)查詢(xún)結(jié)果被返回,你可以在瀏覽器中看到它們。
共享模塊
現(xiàn)在你已經(jīng)構(gòu)建了一個(gè)模塊提高IDE,那為什么不和其他開(kāi)發(fā)員共享?NetBeans IDE提供了一個(gè)簡(jiǎn)單的途徑來(lái)創(chuàng)建二進(jìn)制NetBeans模塊文件(.nbm)去允許其他開(kāi)發(fā)員將它集成到自己當(dāng)前的IDE中來(lái)共享你的經(jīng)驗(yàn)。實(shí)際上這個(gè)是上述的安裝實(shí)例代碼那一步,創(chuàng)建一個(gè)模塊二進(jìn)制文件,如下去做:
在項(xiàng)目窗口,右鍵單擊GoogleToolbar項(xiàng)目結(jié)點(diǎn)并選擇創(chuàng)建 NBM。新的NBM文件被創(chuàng)建然后你可以在文件窗格中看到它。
【編輯推薦】