设置插件模块项目在开始编写插件模块之前,您必须确保已安装了所有必需的软件,并且正确设置了项目。netbeans 提供了一个向导,可用于设置插件模块所需的所有基本文件。 安装软件在开始之前,您需要在计算机中安装以下软件: - netbeans ide 5.x(下载)
- java standard development kit (jdk?) 版本 1.4.2(下载)或版本 5.0(下载)
创建 netbeans 插件模块项目- 选择“文件”>“新建项目”。在“类别”下,选择“netbeans 插件模块”。
netbeans 插件模块支持提供三种项目类型: - 模块项目。为单独插件模块创建模板。
- 库包装模块项目。为一个或多个插件模块所需的外部 jar 文件创建插件模块。
- 模块套件项目。为一组相互依赖的插件模块和库包装模块(您希望将这些模块部署在一起)创建模板。
- 选择“模块项目”。单击“下一步”。
- 在“名称和位置”面板的“项目名称”中,键入 myfirstmodule。将“项目位置”更改为计算机上的任何目录,如 c:/mymodules。将“独立模块”单选按钮和“设置为主项目”复选框保留为选中状态。单击“下一步”。
- 在“基本模块配置”面板中,将“代码名称库”中的 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.mf、build.xml、nbproject/project.xml、nbproject/platform.properties 和 nbproject/private/platform-private.properties。
创建菜单项和工具栏按钮您可以使用 netbeans 插件模块文件模板来建立基本的模块功能。使用文件模板时,ide 将对您在 layer.xml 文件中创建的项进行注册。在使用向导创建文件模板之后,可以使用 netbeans api 列表继续开发模块。 使用“操作”向导- 在“项目”窗口中,右键单击项目节点,然后选择“新建”>“文件/文件夹”。在“新建文件”向导的“类别”下选择“netbeans 模块开发”,然后在“文件类型”下选择“操作”。单击“下一步”。
- 在“操作类型”面板中,接受缺省设置。单击“下一步”。
- 在“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 生成脚本来生成并安装插件模块。在创建插件模块项目时,将创建该生成脚本。 安装插件模块使用 netbeans 插件模块- 在新打开的 ide 菜单栏中,您会看到新的菜单和菜单项以及在“操作”向导中指定的图标:
- 选择用于调用 myfirstaction.java 中的 performaction 方法的菜单项。您会看到 joptionpane 及其消息:
 - .单击工具栏按钮。由于它调用相同的操作,因此具有相同的结果。
|