NetBeans模塊快速入門教程
譯注:原文地址為http://platform.netbeans.org/tutorials/60/nbm-google.html
這篇文檔展示如何創建一個模塊來向IDE或其他基于NetBeans平臺的應用程序添加一個Google查詢工具欄。如下所示:

按照如下做法去做,利用NetBeans APIs去增強應用程序的功能集合。具體做法,你創建一個被工具欄上的一個按鈕調用的動作,然后創建一個包含JLabel和JTextField的Swing面板作為GUI組件。最終你重寫動作的getToolbarPresenter() 方法返回這個JPanel顯示在工具欄中來代替按鈕。當這個模塊被安裝后,用戶在JTextField中鍵入查詢字符串并按下回車,同時URLDisplayer類就把這個字符串發送到IDE的默認瀏覽器中,瀏覽器打開并顯示查詢結果。
更多有關模塊的信息,參見NetBeans模塊與富客戶端應用開發 的NetBeans站點。如果有疑問,請訪問NetBeans開發疑難解答或者使用位于文檔底部的反饋列表。
軟件安裝
在你開始之前,你應安裝下列軟件到你的計算機中:
NetBeans IDE 6.0 (下載)
Java SE 5.0或者更高版本(下載)
安裝范例程序
看本教程的最終結果,安裝范例模塊然后在IDE中測試這個Google工具欄:
1.下載并解壓縮附件
2.在IDE中,選擇 文件>打開項目 然后定位到解壓后文件的位置。選擇模塊項目然后點擊打開項目文件夾。模塊項目將在IDE中打開然后你將在項目窗口中看到如下所示的結果(根據需要展開結點)

3.右鍵單擊項目結點并選擇 安裝/重新加載到目標平臺。默認地,目標平臺是當前開發模塊項目的IDE。然后目標平臺打開模塊被安裝。
4.通過測試來驗證是否與期待的一致。
現在你已經看到了最終結果,你可以重新創建和改寫來學習每一個部分。
創建模塊項目
開發模塊時,你必須確保項目結構的正確。netBeans IDE提供一個模塊工程向導來生成所有模塊所需的基本文件。
1.選擇 文件>新建項目。在類別選項下,選擇NetBeans插件模塊。在工程下,選擇模塊項目。單擊下一步。
2.在名字和位置面板中,鍵入“GoogleToolbar”到項目名稱文本域。改變項目路徑到你機器上的任意目錄。保留獨立模塊選項設定并設置為主項目,單擊下一步。
3.在基本模塊設定面板中,在代碼基本名字一欄替換“yourorghere”為“myorg”,使整個代碼基本名字是org.myorg.googletoolbar。其余保持不變。單擊完成。
IDE創建GoogleToolbar項目。這個項目包含了所有源碼和項目元數據,例如項目的Ant構建腳本。這個項目在IDE中打開,你可以在項目窗格中看到它的邏輯結構,在文件窗格中看到它的文件構成。例如項目窗格中應該看到如下結果:

有關上述每個文件的基本信息,參見NetBeans模塊開發簡介
為模塊編碼
創建Action
1.右鍵單擊項目結并選擇新建>動作。單擊下一步
2.在動作類型面板中保持默認設置,這將導致IDE創建的Action是CallableSystemAction的子類,如下所示:

單擊下一步
3.在GUI注冊面板,在類別下拉列表中選擇 編輯。類別下拉列表控制一個Action在“快捷鍵映射”編輯器部分中的位置。接下來反選全局菜單項并選擇全局工具欄按鈕。在工具欄下拉列表,選擇編輯,然后在下拉列表的位置,選擇Find...-HERE,如下圖所示:

單擊下一步
4.在名稱與定位面板,鍵入GoogleAction作為類名,Google Action作為顯示名,瀏覽一個16*16尺寸的圖標。實際上你可以不使用圖標只是你將顯示下一步創建的JPanel表單。可是新的Action向導需要你指定一個圖標,因此這個圖標可以是任意尺寸。單擊完成。注意GoogleAction.java被添加到項目窗格的org.myorg.googletoolbar包中。
創建JPanel
1.右鍵單擊項目結點并選擇新建>其他。在類別列表中,選擇Swing GUI Forms,在項目列表中選擇JPanel Form,單擊下一步
2.在名字和定位面板中,鍵入GooglePanel作為類名并從下拉列表中選擇包名。單擊完成。GooglePanel.java被添加到包中并在源代碼編輯器以設計視圖的方式被打開。
3.將光標定位到JPanel右下角,然后選擇JPanel并拖拽光標改變它的大小,使它的長、高和工具欄一樣,如下所示

4.從托盤直接拖拽一個JTextField項和一個JLabel項到JPanel,然后重新設置JPanel和其他兩個組件的尺寸是它們做適合的布局組合,最后單擊JLabel改變顯示文字為“Google:”,然后刪除JTextField的默認的文字。你的JPanel應該像下圖所示:

5.確保屬性編輯窗格保持打開,然后右鍵單擊JTextField并選擇 事件>Key>keyTyped。這將在GooglePanel.java源代碼中生成jTextField1KeyTyped()方法。在代碼編輯器中看到如下內容:

6.在代碼編輯器中,在GooglePanel.java的代碼視圖,向jTextField1KeyTyped()方法中填寫如下內容:
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
}
}
}
如果需要,在代碼編輯器中單擊右鍵并選擇代碼格式化
排除錯誤
注意到代碼的一些行標記了紅色下劃線指示錯誤。那是因為還沒有導入所需要的包。把鼠標光標定位到 URLDisplayer左邊紅色下劃線高亮顯示的燈泡圖標處,一個提示將會顯示指示了出錯的原因:

為了解決這個錯誤,你需要使用HtmlBrowser.URLDisplayer這個類,它包含在org.openide.awt包中,為了使你的工程可以訪問,需要按照如下方法去做:
1.在項目窗格中右鍵單擊項目節點并選擇屬性。在項目屬性對話框中,選擇類別標題下的庫。然后,在模塊依賴性下單擊添加按鈕。然后添加模塊依賴對話框將彈出顯示。
2.在添加模塊依賴對話框頂部的過濾文本框中,鍵入URLDisplayer然后注意返回給用戶的選擇模塊逐漸變窄,直到只剩下UI Utilities API

單擊確定,然后再單擊確定離開項目屬性對話框
3.在代碼編輯器中單擊右鍵并選擇修復導入。修復導入對話框彈出,對不認可的類列出了建議的路徑:

單擊確定,IDE將為GooglePanel.java創建如下導入語句:
import java.net.URL;
import org.openide.awt.HtmlBrowser.URLDisplayer;
同時也會注意到代碼編輯器中的錯誤都不見了。
重寫getToolbarPresenter()方法
由于你剛剛創建的JPanel是實際顯示Google工具欄的組件,你需要重寫Action類的getToolbarPresenter()方法。在GoogleAction.java中,如下去做:
1.在類的聲明下面,聲明下面的變量
GooglePanel retValue = new GooglePanel();
2.定義getToolbarPresenter()方法并返回retValue變量
public java.awt.Component getToolbarPresenter() {
return retValue;
}
編譯,安裝并使用模塊
NetBeans利用一個Ant構建腳本在IDE中編譯和安裝你的模塊。當你在上述的創建模塊項目時,構建腳本就被創建了。現在模塊已做好編譯的準備并添加到了IDE中,你可以利用NetBeans IDE的Ant支持做如下步驟:
1.在項目窗格,右鍵單擊GoogleToolbar項目結點并選擇 安裝/重加載到目標平臺。然后模塊被構建并安裝到一個IDE新的實例中去。默認的缺省目標平臺是開發IDE的當前實例所使用的安裝。目標平臺打開時你可以測試新模塊。
2.當成功安裝后,模塊添加了一個新按鈕到IDE的編輯工具欄。注意盡管工具欄按鈕不會顯示一個圖標,而是顯示你創建的JPanel:

3.在文本域鍵入一個查詢字符串

4.按下回車。IDE的默認瀏覽器將會啟動。Google URL和你鍵入的查詢字符串被發送到瀏覽器然后一個查詢將被執行。當查詢結果被返回,你可以在瀏覽器中看到它們。
共享模塊
現在你已經構建了一個模塊提高IDE,那為什么不和其他開發員共享?NetBeans IDE提供了一個簡單的途徑來創建二進制NetBeans模塊文件(.nbm)去允許其他開發員將它集成到自己當前的IDE中來共享你的經驗。實際上這個是上述的安裝實例代碼那一步,創建一個模塊二進制文件,如下去做:
在項目窗口,右鍵單擊GoogleToolbar項目結點并選擇創建 NBM。新的NBM文件被創建然后你可以在文件窗格中看到它。

下一步
現在結束NetBeans Google工具欄教程。這篇文檔討論了如何創建一個模塊來實現一個Google查詢工具欄并添加到IDE。更多的有關創建和開發模塊的信息,參見下列資源。
其它相關教程
NetBeans API文檔