我可以为NetBeans创建一个模块吗?一旦用户打开NetBeans IDE,该模块就会在后台运行?例如,我正在构建一个插件,它捕获NetBeans中活动JTextComponent(活动代码编辑器)的源代码,但我希望这个插件始终在后台运行,而不必由用户点击按钮或按下某些组合键来激活。
这可能吗?如果可能,最好的方法是什么?
是的,只需在模块的根包中创建一个"Install.java",并用ModuleInstall
类对其进行子类化,然后启动一个在restored()
方法中连续运行的进程。restored()
方法在模块安装和每次netbeans启动时都会被调用。因此,一旦模块加载到Netbeans中,您的进程就会立即启动。
模块安装
另请从DevFaqModulesGeneral中查看本节。
程序注册-模块安装类模块系统允许您提供一个ModuleInstall类,该类运行一些代码在启动期间或加载模块时,并且可以运行清理代码当它被卸载或禁用时。这是最不可取的方式因为在启动时运行代码意味着速度减慢启动。在使用此类之前,请确保没有声明性做你想做的事情的方式;请参阅:DevFaqModulesDeclarativeVsProgrammatic
要在启动/安装/卸载等时运行一些代码。,添加在模块的清单文件中添加如下行:
OpenIDE-Module-Install: org/netbeans/modules/paintcatcher/PaintCatcherModule.class
该行应该是manifest,前面没有空行。它是指向类的指针模块内的文件。类文件必须扩展类org.openide.modules.ModuleInstall.中有一个向导开发支持为您创建和注册这样一个类。