NetBeans 模块开发简介

官方中文教程:

本文档介绍了有关使用 NetBeans IDE 开发 NetBeans 插件模块的基础知识。您会出于以下两个原因之一来开发 NetBeans 插件模块:

  • 扩展 NetBeans IDE。可以使用新功能非常方便地扩展 IDE 的功能。例如,通过编写一些插件模块,您可以在 NetBeans IDE 中使用最喜爱的前沿技术。有关 NetBeans IDE 5.x 发行版本所提供的功能信息,请参见 NetBeans IDE 5.x 发行版本页
  • 在 NetBeans 平台上构建应用程序。可以使用 NetBeans 核心作为开发功能丰富的客户端应用程序的平台。通过重用该平台中提供的现成功能,可以节省很多开发时间。有关详细信息,请参见 NetBeans 平台主页

此入门指南主要介绍了上述第一种情况,但其中介绍的原则也适用于第二种情况。但是请注意,如果要了解有关在 NetBeans 平台上开发应用程序的信息,则功能丰富的客户端应用程序开发简介教程更适合您。

本教程旨在帮助您尽快入门。通过此教程,您将创建并安装一个简单的 NetBeans 插件模块。该插件模块会将一个新菜单项和一个工具栏按钮添加到 IDE 中。选择该菜单项或工具栏按钮时,将显示 NetBeans API 提供的 DialogDisplayer,其中包含文本 "I'm plugged in!"。

下面将介绍下列主题:

您可以在 20 分钟内学完本教程。

有关 NetBeans 插件模块的详细信息,请参见 NetBeans Web 站点上的 NetBeans 开发项目主页。如果您有任何问题,请访问 NetBeans 开发者常见问题解答,或者使用此页面顶部的反馈链接。


设置插件模块项目

在开始编写插件模块之前,您必须确保已安装了所有必需的软件,并且正确设置了项目。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 注册”面板。

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

    • 类别。指定操作在“选项”窗口的“快捷键映射”部分中的位置。
    • 全局菜单项。指定将操作注册为菜单项的菜单。也可以在此处设置菜单项在现有菜单项中的位置。
    • 全局工具栏按钮。指定将操作注册为按钮的工具栏。也可以在此处设置工具栏按钮在现有工具栏按钮中的位置。
    • 全局快捷键。指定将调用该操作的击键。
    • 文件类型上下文菜单项。指定将显示菜单项的文件类型的 MIME 类型。也可以在此处设置菜单项在现有菜单项中的位置及其分隔符。有关使用此字段的详细内容,请参见 NetBeans DataLoader 模块教程
    • 编辑器上下文菜单项。指定将显示菜单项的编辑器的 MIME 类型。也可以在此处设置菜单项在现有菜单项中的位置及其分隔符。有关使用此字段的详细内容,请参见 NetBeans 编辑器扩展模块教程

    单击“下一步”。

  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 的包为止。

    项目属性。

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

  8. 在源代码编辑器中,按 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 及其消息:

    JOption 窗格。

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

    调用我的第一个操作按钮。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值