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