netbeans插件_如何编写NetBeans插件
netbeans插件
是否想在NetBeans IDE中添加功能或自動執行某些操作? 跟隨我們編寫您的第一個NetBeans插件。
讓我們超越簡單的工具欄示例 ,創建一個可以自動更新的插件。 該代碼基于NetBeans的WakaTime插件 。 我們的示例插件將僅打印Hello World語句,并在可用的情況下更新至新版本……足以使您入門。
創建一個新的插件項目
選擇File -> New Project然后選擇NetBeans Modules -> Module作為項目類型。
為您的項目命名
選擇插件的名稱空間或代碼名稱
添加一個Java文件
插件起點
創建新的Java類文件后,使其擴展ModuleInstall并使用@OnShowing對其進行包裝,以便僅在GUI加載后才能運行。
@OnShowing public class MyPlugin extends ModuleInstall implements Runnable { }在您的OnShowing按ALT + ENTER ,然后Search Module Dependency for OnShowing選擇Search Module Dependency for OnShowing將Window System API導入到項目中。 這將為您的項目添加新的依賴關系,并將必要的import語句添加到文件頂部。 還要對ModuleInstall執行此ModuleInstall 。
有時NetBeans org.openide.util依賴項,因此您可能必須手動添加該依賴項。 為此,右鍵單擊MyPlugin,然后選擇Properties 。
選擇類別Libraries然后單擊Add... 鍵入org.openide.util然后單擊OK 。 這會將依賴項添加到您的project.xml文件中。
在MyPlugin類上按ALT + ENTER ,然后選擇Implement all abstract methods 。
最后一件事,將此行添加到manifest.mf文件。 OpenIDE-Module-Install: org/myorg/myplugin/MyPlugin.class
現在,將在插件加載后執行run()方法。
記錄中
讓我們將println輸出輸出到NetBeans IDE日志中。 首先,將記錄器設置為MyPlugin類的屬性。
public static final Logger log = Logger.getLogger("MyPlugin");按ALT + ENTER導入java.util.logging.Logger 。
用log.info("MyPlugin has loaded.");替換println log.info("MyPlugin has loaded."); 。
自動更新您的插件
在MyPlugin包中創建一個新的Java文件UpdateHandler.java 。
用UpdateHandler.java替換此文件的內容。 搜索模塊依賴性,并通過在每個import語句上按ALT + ENTER添加任何缺少的依賴性。
將這些行添加到manifest.mf文件中。
OpenIDE-Module-Layer: org/myorg/myplugin/layer.xml OpenIDE-Module-Implementation-Version: 201501010101在MyPlugin包中創建一個新的XML文檔。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem><folder name="Services"><folder name="AutoupdateType"><file name="org_myorg_myplugin_update_center.instance"><attr name="displayName" bundlevalue="org.myorg.myplugin.Bundle#Services/AutoupdateType/org_myorg_myplugin_update_center.instance"/><attr name="enabled" boolvalue="true"/><attr name="instanceCreate" methodvalue="org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogFactory.createUpdateProvider"/><attr name="instanceOf" stringvalue="org.netbeans.spi.autoupdate.UpdateProvider"/><attr name="url" bundlevalue="org.myorg.myplugin.Bundle#org_myorg_myplugin_update_center"/></file></folder></folder> </filesystem>
將此代碼添加到run()方法內的MyPlugin類中。
WindowManager.getDefault().invokeWhenUIReady(new Runnable () {@Overridepublic void run() {UpdateHandler.checkAndHandleUpdates();} });將這些行添加到Bundle.properties文件中:
Services/AutoupdateType/org_myorg_myplugin_update_center.instance=MyPlugin UpdateHandler.NewModules=false org_myorg_myplugin_update_center=https\://example.com/updates.xml現在,每次NetBeans重新啟動并啟動您的插件時,它將通過從example.com下載updates.xml來檢查更新。
您的updates.xml文件告訴NetBeans從何處獲取插件的新NBM。 要創建用于發布插件的NBM,請右鍵單擊MyPlugin項目,然后選擇Create NBM 。 NBM文件是您將發布到NetBeans插件門戶的文件 。
有關在GitHub上托管updates.xml的示例,請查看WakaTime NetBeans插件中的 update.xml和對應的Bundle.properties 。
翻譯自: https://www.javacodegeeks.com/2015/02/write-netbeans-plugin.html
netbeans插件
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的netbeans插件_如何编写NetBeans插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 放大镜是凸透镜还是凹透镜(放大镜是凸透镜
- 下一篇: 电脑fps多少正常(FPS多少正常)