還可以使用 NetBeans 方便地創建新插件。
步驟 1:新模塊。
單擊 File → New Project 創建一個新項目。
圖 1. 創建一個新項目
在 Categories 中選擇 NetBeans Module 並在 Projects 中選擇 Module。
圖 2. 創建一個新模塊
單擊 Next 按鈕。
在下一個屏幕中,您可以選擇模塊的名稱,例如 HelloYou。其他選項保留默認值。
圖 3. 為模塊命名
現在,您必須設置包的基本名稱,例如 org.yourorg.helloyou。
圖 4. 包名稱
現在您擁有了一個空的模塊,但我們還需要一些操作。
步驟 2:添加操作。
在源包中單擊鼠標右鍵,並選擇 New → Actionaction
圖 5. 添加一些操作
現在我們將填寫另一個向導。第一個屏幕與 Action Type 有關。保留所有默認值(選擇 Always Enabled 選項)並單擊 Next 按鈕。
圖 6. 填寫 Action Type。
在 GUI Registration 屏幕中我們可以設置操作作為菜單項出現的位置。選擇 Menu 文件並選擇 Global Toolbar Button 選項。在 Toolbar 中選擇 Build 並在 Position 中選擇 Profile Main Project…- HERE。單擊 Next 按鈕。
圖 7. GUI 注冊。
現在我們將設置 Name, Icon and Location 屏幕。在 Class Name 中選擇 HelloAction。Display Name 是類在菜單中的出現方式,因此我 們可以給它留有一定空間。您應該選擇一個尺寸為 16×16 的按鈕。在同樣的目錄中您可以放置一個 24×24 的按鈕。如果您的 16×16 按鈕 被命名為 ball.png,那麼您的 24×24 按鈕應命名為 ball24.png。不要介意按鈕放在什麼位置,它會自動被復制到模塊目錄下。現在單擊 Finish 按鈕。
圖 8. 名稱、圖標和位置。
從 Pidgin Project 中我使用了一個微笑圖標。
單擊 Finish 按鈕後,您的項目應如下所示:
圖 9. 空操作。
此刻我們已經能測試模塊了。要測試該模塊,右鍵單擊 HelloYou(拼圖按鈕)並選擇 Install/Reload in Target Platform 選項。該操作將打開一個安裝有模塊的 NetBeans 新實例!
圖 10. 在目標平台中安裝/重新加載。
如果一切進行順利,您將在工具欄中看到自己的按鈕。
圖 11. 看!我們已經得到了一個插件!
但是,如果單擊微笑按鈕,您會發現什麼也沒有發生。我們根本就沒有定義任何操作。
步驟 3:創建依賴關系。
某一模塊可以和其他模塊建立依賴關系。當您試圖安裝某一模塊時,NetBeans 將詢問您是否安裝模塊的依賴關系。很像 Linux 的包系統。
在我們的模塊屬性屏幕中我們可以查看並設置模塊的依賴關系。您可以右鍵單擊 HelloYou,然後進入 Properties。完成相同操作的另一種方式是進入 File → “HelloYou” Properties。
圖 12. File → “HelloYou” 屬性。
在 Project Properties 屏幕的左側 Libraries 中選擇 Categories。其中列舉 Java、 NetBeans 和模塊的所有 Module Dependencies。 在默認的情況下您將看到 Utilities API 模塊依賴關系。
圖 13. 模塊依賴關系。
單擊 Add 按鈕(靠近模塊依賴關系的那個按鈕)。您將看到 Add Module Dependency 屏幕上列舉了所有的 NetBeans 模塊。
圖 14. 添加模塊依賴關系
我們希望為 Dialogs API 添加一種依賴關系。在過濾器文本字段中鍵入“dialogs”。
圖 15. Dialogs API。
選擇模塊 Dialogs API 並單擊 OK 按鈕。現在我們的模塊已經有了兩種依賴關系:Utilities API 和 Dialogs API。
圖 16. Dialogs API 和 Utilities API。
現在我們第一次整理代碼。
在 HelloAction.java 文件中, HelloAction 類擴展了 CallableSystemAction(它是一個抽象類)。在 performAction() 方法中只 有:
//TODO implement action body
我們將重新編寫 performAction 方法:
public void performAction() {
String msg = "Hello NetBeans World!";
int msgType = NotifyDescriptor.INFORMATION_MESSAGE;
NotifyDescriptor d = new NotifyDescriptor.Message(msg, msgType);
DialogDisplayer.getDefault().notify(d);
}
您將看到一些警告(不能找到符號)。修復所導入的內容(Ctrl+Shift+I)。要測試您的模塊,請再次執行以下操作:HelloYou → Install/Reload in Target Platform。NetBeans 的新 實例打開後,您將再次看到笑臉按鈕。當您單擊笑臉按鈕時,NetBeans 將顯示一段對話。
圖 17. Hello NetBeans World。
讓我們再做一些其他工作。我們使用 NotifyDescriptor.InputLine 與用戶交談。我們需要創建一個輸入對話行,獲取用戶名稱(如果單擊 Ok 按鈕),然後發送一條消息給他。
public void performAction() {
NotifyDescriptor.InputLine question;
question = new NotifyDescriptor.InputLine("Name:",
"What's your name?",
NotifyDescriptor.OK_CANCEL_OPTION,
NotifyDescriptor.QUESTION_MESSAGE);
if (DialogDisplayer.getDefault().notify(question) == NotifyDescriptor.OK_OPTION) {
String msg = "Hello "+question.getInputText()+"!";
int msgType = NotifyDescriptor.INFORMATION_MESSAGE;
NotifyDescriptor d = new NotifyDescriptor.Message(msg, msgType);
DialogDisplayer.getDefault().notify(d);
}
}
再次執行HelloYou → Install/Reload in Target Platform 操作。
在 NetBeans 實例打開之後,單擊我們設計的微笑按鈕。
我們已經完成了 NetBeans 插件的創建!