站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Netbeans 专题NetBeans IDE 5.0 插件模块快速入门指南

NetBeans IDE 5.0 插件模块快速入门指南

摘要: NetBeans IDE 5.0 插件模块快速入门指南 反馈 本文档帮助您了解使用 NetBeans IDE 5.0 开发 NetBeans 插件模块的基础知识。开发 NetBeans 插件模块有以下...
NetBeans IDE 5.0 插件模块快速入门指南

反馈

本文档帮助您了解使用 NetBeans IDE 5.0 开发 NetBeans 插件模块的基础知识。开发 NetBeans 插件模块有以下两个理由之一:

上面的第一个方案主要在此快速入门指南中介绍,尽管这里陈述的准则也应用于第二个方案。不过请注意,如果想了解在 NetBeans Platform 上开发应用程序的情形,则 NetBeans IDE 5.0 富客户端应用程序快速入门指南是一个更好的教程。

本教程旨在让您尽快地上手。您将创建和安装简单的 NetBean 插件模块。该插件模块将在 IDE 上添加一个新的菜单项和一个工具栏按钮。选择该菜单项或工具栏按钮时,将显示一个由 NetBeans APIs 提供的包含文本 "I'm plugged in!" 的 DialogDisplayer

本教程将介绍以下主题:

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

有关 NetBeans 插件模块的更多信息,请参见 NetBeans 网站上的 NetBeans Development Project 主页。如果有问题,请访问 NetBeans Developer FAQ 或使用本页顶部的反馈链接。


设置插件模块项目

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

安装软件

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

  • NetBeans IDE 5.0(下载
  • Java Standard Development Kit (JDK!") version 1.4.2(下载)或 5.0(下载

创建 NetBeans 插件模块项目

  1. 选择 File > New Project。在 Categories 下,选择 NetBeans Plug-in Modules。

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

    • 模块项目。 创建单独的插件模块需要的模板。
    • 库包装模块项目。 为一个或多个插件模块需要的外部 JAR 文件创建插件模块。
    • 模块套件项目。 为一组相互依赖的插件模块和库包装模块(您想一起部署的模块)创建模板。
  2. 选择 Module Project。单击 Next。
  3. 在 Name and Location 面板中,在 Project Name 中键入 MyFirstModule。将 Project Location 更改为您计算机上的任何目录,如 c:\mymodules。选择 Standalone Module 单选按钮和 Set as Main Project 复选框。单击 Next。
  4. 在 Basic Module Configuration 面板中,用 myorg 替换 Code Name Base 中的 yourorghere,从而整个代码的 Code Name Base 为 org.myorg.myfirstmodule。注意,本地包和 XML 层将存储在 org.myorg.myfirstmodule 包中。这些文件执行以下操作:
    • 本地化资源包。 指定用于国际化的特定于语言的字符串。
    • XML 层。 在 NetBeans System Filesystem 中注册菜单和工具栏按钮之类的项。

    单击 Finish。IDE 创建 MyFirstModule 项目。该项目包含所有资源和项目元数据,如该项目的 Ant 构建脚本。该项目在 IDE 中打开。您可以在 Projects 窗口 (Ctrl-1) 中查看其逻辑结构并在 Files 窗口 (Ctrl-2) 中查看其文件结构:

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

    • 模块清单(Module Manifest)。 声明该项目是插件模块。此外,它设置一些特定于模块的设置,如 XML 层的位置、本地化资源包的位置和模块版本。
    • 构建脚本。 提供一个您可以创建自己的 Ant 目标和重写在 nbproject/build-impl.xml 中指定的目标的位置。
    • 项目元数据。 包含以下信息,如该项目类型、内容、平台、类路径、依赖性,以及 Ant 脚本中项目命令和目标之间的映射。
    • NetBeans 平台配置。 包含 IDE 或 Platform 使用的属性。
    • 每用户 NetBeans 平台配置。 包含特定于 IDE 安装的属性。例如,如果在 VCS 上共享该项目,则不会在存储库中查看您在此文件中设置的任何属性。您可以从 NetBeans Platform Config 中将一个属性复制到此文件中,并在每个文件中为该属性确定不同的定义。此文件中的定义优先于 NetBeans Platform Config 中的定义。

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


创建菜单项和工具栏按钮

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

使用 Action 向导

  1. 在 Projects 窗口中,右键单击该项目节点,并选择 New > File/Folder。在 New File 向导中,选择 Categories 下的 NetBeans Module Development 和 File Types 下的 Action。单击 Next。
  2. 在 Action Type 面板中,接受默认设置。单击 Next。
  3. 在 GUI Registration 面板中,选择 Global Menu Item 并选择 Global Toolbar Button。设置以下值:

    • 类别: Tools
    • 菜单: Tools
    • 位置: Tools - HERE - <separator>
    • 工具栏: Build
    • 位置: Run Main Project - HERE - Debug Main Project

    在 Global Menu Item 部分选择 Separator Before 和 Separator After。

    现在应该看到下图:

    注意关于 GUI Registration 面板中各部分的以下内容:

    • 类别。 指定在 Options 窗口的 Keymap 部分中该 action 的位置。
    • Global Menu Item。 指定作为菜单项注册该 action 的菜单。在菜单中现有项内的菜单项的位置也可以在此处设置。
    • Global Toolbar Button。 指定作为按钮注册该 action 的工具栏。在工具栏中现有按钮内的工具栏按钮的位置也可以在此处设置。
    • Global Keyboard Shortcut。 指定将调用 action 的键击事件。
    • File Type Context Menu Item。 指定出现菜单项的文件类型的 MIME 类型。现有菜单项中菜单项的位置以及其分隔符也可以在此处设置。有关使用此字段的详细信息,请参见 NetBeans DataLoader 模块教程
    • Editor Context Menu Item。 指定出现菜单项的编辑器的 MIME 类型。现有菜单项中菜单项的位置以及其分隔符也可以在此处设置。有关使用此字段的详细信息,请参见 NetBeans Editor Extension 模块教程

    单击 Next。

  4. 在 Name, Icon, and Location 面板中,在 Class Name 中键入 MyFirstAction 并在 Display Name 键入 My First Action。在 Icon 中,在您的文件系统中浏览 16x16 像素图标。例如,您可以在 NetBeans IDE 5.0 安装目录中的以下位置找到一些 16x16 像素图标:
       enterprise2\jakarta-tomcat-5.5.9\server\webapps\admin\images
  5. 单击 Finish。

    IDE 在 org.myorg.myfirstmodule 中创建 MyFirstAction.java 并在 Source Editor 中打开它。这是您应该看到的(单击该链接可以看到相关的 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 Registration 面板中指定的那样,该 IDE 将在 layer.xml 文件中作为菜单项和工具栏按钮注册 action 类。

    <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. 在 Source Editor 中,按以下形式填写 performAction() 方法:
       public void performAction() {
            String msg = "I'm plugged in!";
    NotifyDescriptor d = new NotifyDescriptor.Message(msg, NotifyDescriptor.INFORMATION_MESSAGE);
    DialogDisplayer.getDefault().notify(d);     
       }

    调用 NotifyDescriptor 和 DialogDisplayer 的行带有下划线并标记为错误,类似于以下说明。这是因为相关的包尚未得到声明。下一步将声明这些包。

  7. 在 Projects 窗口中,右键单击 MyFirstOptionCategory 项目节点并选择 Properties。在 Libraries 窗格中,单击 Add。键入 notifyd 并注意返回的列表将缩小,直到显示包含 NotifyDescriptor 的包:

    单击 OK。将 Dialogs API 添加到 Module Dependencies 列表。单击 OK 确认,并退出 Project Properties 对话框。

  8. 在 Source Editor 中,单击 Alt-Shift-F。两个新的导入语句即被添加到源文件的顶部,而且红色下划线消失。这些是新的 import 语句(单击链接可以看到相关的 NetBeans API Javadoc):
        import org.openide.DialogDisplayer;
        import org.openide.NotifyDescriptor;

插件模块到此结束。接着,您需要安装和使用它。

安装和使用插件模块

IDE 使用 Ant 构建脚本来构建和安装您的插件模块。构建脚本是创建插件模块项目时为您创建的。

安装插件模块

  • 在 Projects 窗口,右键单击 MyFirstModule 项目并在 Target Platform 中选择 Install/Reload。

    插件模块即在目标平台中构建和安装。目标平台在 Tools > NetBeans Platform Manager 中设置。目标平台打开,您可以试用新的插件模块。默认目标 IDE 或平台是由开发 IDE 的当前实例使用的安装平台。

使用 NetBeans 插件模块

  1. 在新打开的 IDE 菜单栏中,可以看到新的菜单和菜单项,还有您在 Action 向导中指定的图标。

  2. 选择该菜单项以调用 MyFirstAction.java 中的 performAction 方法。您应该看到出现 JOptionPane 及当中的信息:

  3. 单击 Toolbar 按钮。它即调用同一 action 而且结果相同。其形式如下:

下一步

有关更高级的教程,请参见以下资源:

有关创建和开发 NetBeans 插件模块的更多信息,请参见以下资源:





↑返回目录
前一篇: Developer Collaboration 模块快速入门教程
后一篇: NetBeans Help System 插件教程