技术开发 频道

NetBeans 模块开发简介

【IT168技术文档】

设置插件模块项目

在开始编写插件模块之前,您必须确保已安装了所有必需的软件,并且正确设置了项目。NetBeans 提供了一个向导,可用于设置插件模块所需的所有基本文件。

安装软件

在开始之前,您需要在计算机中安装以下软件:

  • NetBeans IDE 5.x(下载
  • Java Standard Development Kit (JDK™) 版本 1.4.2(下载)或版本 5.0(下载

创建 NetBeans 插件模块项目

  1. 选择“文件”>“新建项目”。在“类别”下,选择“NetBeans 插件模块”。

    NetBeans 插件模块支持提供三种项目类型:  

    • 模块项目。为单独插件模块创建模板。
    • 库包装模块项目。为一个或多个插件模块所需的外部 JAR 文件创建插件模块。
    • 模块套件项目。为一组相互依赖的插件模块和库包装模块(您希望将这些模块部署在一起)创建模板。  
  2. 选择“模块项目”。单击“下一步”。
  3. 在“名称和位置”面板的“项目名称”中,键入 MyFirstModule。将“项目位置”更改为计算机上的任何目录,如 c:\mymodules。将“独立模块”单选按钮和“设置为主项目”复选框保留为选中状态。单击“下一步”。
  4. 在“基本模块配置”面板中,将“代码名称库”中的 yourorghere 替换为 myorg,以使完整的代码名称库变为 org.myorg.myfirstmodule。请注意,本地化包和 XML 层将存储在 org.myorg.myfirstmodule 包中。这些文件将执行以下操作: 
     
    • 本地化包。为国际化指定特定于语言的字符串。
    • XML 层。在 NetBeans 系统文件系统中注册菜单和工具栏按钮等项。

    单击“完成”。IDE 将创建 MyFirstModule 项目。该项目包含所有源代码和项目元数据,如项目的 Ant 生成脚本。此时,会在 IDE 中打开该项目。您可以在“项目”窗口 (Ctrl-1) 中查看其逻辑结构,并在“文件”窗口 (Ctrl-2) 中查看其文件结构:



除本地化包和 XML 层外,该项目还包含以下重要文件:

  • 模块清单。声明此项目属于插件模块。此外,它还设定了一些特定于模块的设置,如 XML 层的位置、本地化包的位置以及模块版本。
  • 生成脚本。提供一个位置,可以在其中创建您自己的 Ant 目标并覆盖 nbproject/build-impl.xml 中指定的那些目标。
  • 项目元数据。包含一些信息,如项目的类型、内容、平台、类路径、依赖关系以及项目命令与 Ant 脚本目标之间的映射。
  • NetBeans 平台配置。包含 IDE 或平台使用的属性。
  • 每个用户的 NetBeans 平台配置。包含特定于 IDE 安装的属性。例如,如果通过 VCS 共享项目,则不会将在此文件中设置的任何属性签入到库中。可以将“NetBeans 平台配置”中的属性复制到此文件中,然后在每个文件中为属性指定不同的定义。此文件中的定义优先于“NetBeans 平台配置”中的那些定义。

在学习本教程期间,您不需要修改其中的任何文件。请注意,上面列出的重要文件分别是“文件”窗口中以下文件的逻辑视图:manifest.mfbuild.xmlnbproject/project.xmlnbproject/platform.propertiesnbproject/private/platform-private.properties

创建菜单项和工具栏按钮

您可以使用 NetBeans 插件模块文件模板来建立基本的模块功能。使用文件模板时,IDE 将对您在 layer.xml 文件中创建的项进行注册。在使用向导创建文件模板之后,可以使用 NetBeans API 列表继续开发模块。

使用“操作”向导

  1. 在“项目”窗口中,右键单击项目节点,然后选择“新建”>“文件/文件夹”。在“新建文件”向导的“类别”下选择“NetBeans 模块开发”,然后在“文件类型”下选择“操作”。单击“下一步”。
  2. 在“操作类型”面板中,接受缺省设置。单击“下一步”。
  3. 在“GUI 注册”面板中,选中“全局菜单项”,然后选中“全局工具栏按钮”。设置以下值:
    • 类别:工具
    • 菜单:工具
    • 位置:工具 - 此处 - <分隔符>
    • 工具栏:生成
    • 位置:运行主项目 - 此处 - 调试主项目

    在“全局菜单项”部分中选择“分隔符在前”和“分隔符在后”。

    现在,您会看到以下内容:

 

请注意“GUI 注册”面板部分的以下相关信息:

  • 类别。指定操作在“选项”窗口的“快捷键映射”部分中的位置。
  • 全局菜单项。指定将操作注册为菜单项的菜单。也可以在此处设置菜单项在现有菜单项中的位置。
  • 全局工具栏按钮。指定将操作注册为按钮的工具栏。也可以在此处设置工具栏按钮在现有工具栏按钮中的位置。
  • 全局快捷键。指定将调用该操作的击键。
  • 文件类型上下文菜单项。指定将显示菜单项的文件类型的 MIME 类型。也可以在此处设置菜单项在现有菜单项中的位置及其分隔符。  
  • 编辑器上下文菜单项。指定将显示菜单项的编辑器的 MIME 类型。也可以在此处设置菜单项在现有菜单项中的位置及其分隔符。

单击“下一步”。

        4.  在“名称、图标和位置”面板的“类名”中键入 MyFirstAction,然后在“显示名称”中键入 My First Action。 在    “图标”中,查找文件系统中的某个 16x16 像素图标。例如,可以在 NetBeans IDE 5.x 安装目录中的以下位置找到一些 16x16 像素图标:

enterprise2\jakarta-tomcat-5.5.9\server\webapps\admin\images

 

5.  单击“完成”。

IDE 将在 org.myorg.myfirstmodule 中创建 MyFirstAction.java,并在源代码编辑器中打开它。以下是您应该看到的内容(单击链接可查看相关的 NetBeans API Javadoc):

package org.myorg.myfirstmodule; import org.openide.util.HelpCtx; import org.openide.util.actions.CallableSystemAction; public final class MyFirstAction extends CallableSystemAction { public void performAction() { // TODO implement action body } public String getName() { return "My First Action"; } protected String iconResource() { return "org/myorg/myfirstmodule/Groups.gif"; } public HelpCtx getHelpCtx() { return HelpCtx.DEFAULT_HELP; } protected boolean asynchronous() { return false; } }

如“GUI 注册”面板中所指定的一样,IDE 会在 layer.xml 文件中将操作类注册为菜单项和工具栏按钮:

<filesystem> <folder name="Actions"> <folder name="Tools"> <file name="org-myorg-myfirstmodule-MyFirstAction.instance"> <attr name="instanceClass" stringvalue="org.myorg.myfirstmodule.MyFirstAction"/> </file> </folder> </folder> <folder name="Menu"> <folder name="Tools"> <attr name="org-openide-actions-ToolsAction.instance /org-myorg-myfirstmodule-MyFirstAction.shadow" boolvalue="true"/> <file name="org-myorg-myfirstmodule-MyFirstAction.shadow"> <attr name="originalFile" stringvalue="Actions/Tools/org-myorg-myfirstmodule-MyFirstAction.instance"/> </file> <attr name="org-myorg-myfirstmodule-MyFirstAction.shadow/Separator1.instance" boolvalue="true"/> </folder> </folder> <folder name="Toolbars"> <folder name="Build"> <attr name="org-netbeans-modules-project-ui-RunMainProject.shadow /org-myorg-myfirstmodule-MyFirstAction.shadow" boolvalue="true"/> <file name="org-myorg-myfirstmodule-MyFirstAction.shadow"> <attr name="originalFile" stringvalue="Actions/Tools/org-myorg-myfirstmodule-MyFirstAction.instance"/> </file> <attr name="org-myorg-myfirstmodule-MyFirstAction.shadow /org-netbeans-modules-project-ui-DebugMainProject.shadow" boolvalue="true"/> </folder> </folder> </filesystem>

6.在源代码编辑器中,按如下所示填充 performAction() 方法:

public void performAction() { String msg = "I'm plugged in!"; NotifyDescriptor d = new NotifyDescriptor.Message(msg, NotifyDescriptor.INFORMATION_MESSAGE); DialogDisplayer.getDefault().notify(d); }

调用了 NotifyDescriptor 和 DialogDisplaye 的行带有下划线,并被标记为错误,与下图类似。这是因为尚未声明相关的包。我们将在下一步对它们进行声明。

7.在“项目”窗口中右键单击 MyFirstModule 项目节点,然后选择“属性”。在“库”窗格中,单击“添加”。键入 notifyd,请注意返回的列表将变窄,直至显示包含 NotifyDescriptor 的包为止。



      8. 单击“确定”。此时会将对话框 API 添加到“模块依赖关系”列表中。单击“确定”进行确认,然后退出“项目属性”对话框。

在源代码编辑器中,按 Alt-Shift-F 组合键。此时会将两个新的 import 语句添加到源文件的顶部,并且红色下划线消失。以下是新的 import 语句(单击链接可查看相关的 NetBeans API Javadoc):

import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor;

 插件模块的编写现已完成。接下来,您需要安装并使用它。

安装并使用插件模块

IDE 使用 Ant 生成脚本来生成并安装插件模块。在创建插件模块项目时,将创建该生成脚本。

安装插件模块

  • 在“项目”窗口中,右键单击 MyFirstModule 项目,然后选择“在目标平台中安装/重新装入”。

    将在目标平台中生成并安装插件模块。目标平台是在“工具”>“NetBeans 平台管理器”中设置的。目标平台将会打开,以便试用新的插件模块。缺省目标 IDE 或平台是开发 IDE 当前实例使用的安装。

使用 NetBeans 插件模块

  1. 在新打开的 IDE 菜单栏中,您会看到新的菜单和菜单项以及在“操作”向导中指定的图标:


2.选择用于调用 MyFirstAction.java 中的 performAction 方法的菜单项。您会看到 JOptionPane 及其消息:



3.单击工具栏按钮。由于它调用相同的操作,因此具有相同的结果。它应该如下所示:




0
相关文章