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插件相关推荐

  1. html组态插件_组态 web组态 插件 编辑器 使用说明书

    一.插件目录 init.json 插件初始化配置 initConfig.js 插件初始化方法 module_config.json 所有的组件配置都放在这里,要添加组件需要在这里面添加. exampl ...

  2. java实现语法高亮插件_通用代码高亮插件(SyntaxHighlighter)

    写这篇博文的起源是我想把自己的博客弄的更加美观,相信你也一样. 首先,我要说SyntaxHighlighter插件的实现方式及应用示例,然后再说明如何将其应用到自己的博客,使博客的代码着色更加美观. ...

  3. chrome后台扫描插件_被动扫描器之插件篇

    最近被动扫描器的话题如火如荼,好多公司都在做自己的被动扫描器.而获取质量高的流量是被动扫描器起作用的关键.笔者主要开发了两个被动扫描器的插件,r-forwarder 以及 r-forwarder-bu ...

  4. ps光效插件_全套光效PS插件(2019),只有你想不到的,没有它做不到的PS特效...

    小优姐姐又来给你们送福利啦,一定要看完文章哦,末尾有惊喜(*^▽^*) 好啦,言归正传,你们是不是每次拍照的时候都想拥有一束非常好的光线效果呀 如果光线太强,拍照片的时候不仅刺眼而且还会遮挡住你的照片 ...

  5. Vue插件_自己封装插件_以及使用自定义插件---vue工作笔记0017

    然后我们再来看插件的使用. vue官网上也提供了,怎么样来自己开发插件. 我们自己开发一个插件,并且使用 首先我们把插件包括在一个函数中去, (function(){ })()

  6. vst和vst3插件_如何使用VST插件改善Twitch流音频

    vst和vst3插件 Twitch streamers with noisy microphones will be happy to hear that OBS, the most popular ...

  7. composer常用插件_醉于Composer插件的强大功能

    composer常用插件 Composer is the sharpest tool in the toolbox of the modern PHP developer. The days of m ...

  8. bashsupport插件_如何用 bash-support 插件将 Vim 编辑器打造成编写 Bash 脚本的 IDE

    IDE(集成开发环境)就是这样一个软件,它为了最大化程序员生产效率,提供了很多编程所需的设施和组件. IDE 将所有开发工作集中到一个程序中,使得程序员可以编写.修改.编译.部署以及调试程序. 在这篇 ...

  9. maven 版本号插件_测试Maven版本插件自动递增版本号

    maven 版本号插件 抽象 Maven版本插件是一个非常强大的工具,我在很大程度上依赖于它来协调软件版本. 通常,软件发行版本号遵循简单的1.0.0.0-SNAPSHOT格式. 但是最近我需要在版本 ...

最新文章

  1. 老板的亲戚给我当助手?
  2. Notepad++免费开源文本编辑器
  3. jQuery的prev next
  4. JVM--对象的实例化过程
  5. 基于android的考勤管理系统,基于Android的考勤管理系统的设计与实现
  6. unity 下一帧执行_Unity中的Havok Physics物理引擎
  7. HP刀片带外管理系统OA各功能实例示范
  8. 短视频解析易语言代码
  9. LabVIEW参考资料汇总
  10. 无线通信设备安装工程概预算编制_祁东设备安装工程施工承包-设计安装_天霖工程...
  11. 史上最新最全的Android培训机构大揭秘
  12. 计算机维修兴趣小组,计算机兴趣小组章程
  13. pb定时器timer
  14. mail163邮箱官网如何注册?
  15. 基金训练营学习笔记4-指数基金
  16. 内蒙古自治区鄂尔多斯市谷歌高清卫星地图下载
  17. 9.png为什么可以保证图片不失真,.9.png操作详解————针对原文有补充
  18. Adobe 软件共享
  19. 记录一次前途迷茫的选择
  20. Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable a

热门文章

  1. P3329-[ZJOI2011]最小割【最小割树】
  2. P2638-安全系统【数论,组合数学】
  3. 欢乐纪中A组赛【2019.8.20】
  4. jzoj3914-人品问题【树形dp】
  5. jzoj3510-最短路径【dp】
  6. M-SOLUTIONS Programming Contest 2020总结
  7. 【线段树】Serious Business(CF1648D)
  8. JavaFX官方教程(十三)之应用效果
  9. Java IO: 字节和字符数组
  10. eclipse导入github项目