|
NetBeans 的 模块化架构 支持通过 Plugin Manager 轻松地添加和删除(拔插)功能。
还可以使用 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 插件的创建!
关于 NetBeans 模块开发的详细信息:
|