技术开发 频道

NetBeans 模块开发简介

创建菜单项和工具栏按钮

您可以使用 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;

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

0
相关文章