netbeans插件_如何编写NetBeans插件
netbeans插件
是否想在NetBeans IDE中添加功能或自動執(zhí)行某些操作? 跟隨我們編寫您的第一個NetBeans插件。
讓我們超越簡單的工具欄示例 ,創(chuàng)建一個可以自動更新的插件。 該代碼基于NetBeans的WakaTime插件 。 我們的示例插件將僅打印Hello World語句,并在可用的情況下更新至新版本……足以使您入門。
創(chuàng)建一個新的插件項(xiàng)目
選擇File -> New Project然后選擇NetBeans Modules -> Module作為項(xiàng)目類型。
為您的項(xiàng)目命名
選擇插件的名稱空間或代碼名稱
添加一個Java文件
插件起點(diǎn)
創(chuàng)建新的Java類文件后,使其擴(kuò)展ModuleInstall并使用@OnShowing對其進(jìn)行包裝,以便僅在GUI加載后才能運(yùn)行。
@OnShowing public class MyPlugin extends ModuleInstall implements Runnable { }在您的OnShowing按ALT + ENTER ,然后Search Module Dependency for OnShowing選擇Search Module Dependency for OnShowing將Window System API導(dǎo)入到項(xiàng)目中。 這將為您的項(xiàng)目添加新的依賴關(guān)系,并將必要的import語句添加到文件頂部。 還要對ModuleInstall執(zhí)行此ModuleInstall 。
有時NetBeans org.openide.util依賴項(xiàng),因此您可能必須手動添加該依賴項(xiàng)。 為此,右鍵單擊MyPlugin,然后選擇Properties 。
選擇類別Libraries然后單擊Add... 鍵入org.openide.util然后單擊OK 。 這會將依賴項(xiàng)添加到您的project.xml文件中。
在MyPlugin類上按ALT + ENTER ,然后選擇Implement all abstract methods 。
最后一件事,將此行添加到manifest.mf文件。 OpenIDE-Module-Install: org/myorg/myplugin/MyPlugin.class
現(xiàn)在,將在插件加載后執(zhí)行run()方法。
記錄中
讓我們將println輸出輸出到NetBeans IDE日志中。 首先,將記錄器設(shè)置為MyPlugin類的屬性。
public static final Logger log = Logger.getLogger("MyPlugin");按ALT + ENTER導(dǎo)入java.util.logging.Logger 。
用log.info("MyPlugin has loaded.");替換println log.info("MyPlugin has loaded."); 。
自動更新您的插件
在MyPlugin包中創(chuàng)建一個新的Java文件UpdateHandler.java 。
用UpdateHandler.java替換此文件的內(nèi)容。 搜索模塊依賴性,并通過在每個import語句上按ALT + ENTER添加任何缺少的依賴性。
將這些行添加到manifest.mf文件中。
OpenIDE-Module-Layer: org/myorg/myplugin/layer.xml OpenIDE-Module-Implementation-Version: 201501010101在MyPlugin包中創(chuàng)建一個新的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()方法內(nèi)的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現(xiàn)在,每次NetBeans重新啟動并啟動您的插件時,它將通過從example.com下載updates.xml來檢查更新。
您的updates.xml文件告訴NetBeans從何處獲取插件的新NBM。 要創(chuàng)建用于發(fā)布插件的NBM,請右鍵單擊MyPlugin項(xiàng)目,然后選擇Create NBM 。 NBM文件是您將發(fā)布到NetBeans插件門戶的文件 。
有關(guān)在GitHub上托管updates.xml的示例,請查看WakaTime NetBeans插件中的 update.xml和對應(yīng)的Bundle.properties 。
翻譯自: https://www.javacodegeeks.com/2015/02/write-netbeans-plugin.html
netbeans插件
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的netbeans插件_如何编写NetBeans插件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 放大镜是凸透镜还是凹透镜(放大镜是凸透镜
- 下一篇: 基于价值链的流程框架分类_基于价值的类