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

当前页面: 开发资料首页Netbeans 专题NetBeans DataLoader 模块教程

NetBeans DataLoader 模块教程

摘要: NetBeans DataLoader 模块教程 反馈 本教程向您介绍如何编写让 IDE 识别新文件类型的模块。在 IDE 中识别的文件类型具有它自己的图标、菜单项和行为。所显示的“文件&...
NetBeans DataLoader 模块教程

反馈

本教程向您介绍如何编写让 IDE 识别新文件类型的模块。在 IDE 中识别的文件类型具有它自己的图标、菜单项和行为。所显示的“文件”是 FileObjects—用 java.io.File 包装,如果是配置文件,则通常用其他方式存储的数据包装,如模块中的 XML 文件。您实际看到 的是 Nodes,它提供和操作一样的功能以及和文件一样的对象的本地化名称。在 NodesFileObjects 之间是 DataObjectsDataObjectFileObject 相同,不过前者知道将显示的文件种类,对于不同扩展名的文件和不同名称空间的 XML 文件,通常有不同类型的 DataObject。每个 DataObject 都由不同模块提供,每个都支持一个或多个文件类型,例如,Image 模块可以识别和打开 .gif.png 文件。

识别文件类型的模块安装 DataLoader,即特定文件类型 DataObject 的工厂。当展开文件夹时,IDE 询问每个已知的 DataLoader“Do you know what this is?”第一个回答“Yes”的 DataLoader 会为该文件创建 DataObject。为了实际显示每个文件的内容,系统对在 IDE 中实际看到的每个 DataObjectNodes 调用 DataObject.getNodeDelegate()

下面左侧的图表显示上面提到的每个可用项目;右侧的图表显示它们之间的关系:

本教程中,您将创建为 JAR manifest 文件(.mf 扩展名)安装 DataLoader 的模块。默认情况下,将 manifest 文件作为 IDE 无法识别的任何其他文件处理(将其视为文本文件),因此,IDE 为 manifest 文件提供和文本文件相同的功能。创建该模块之后,您将看到如何使用仅用于 manifest 文件的功能来改善该模块。完成开发周期时,您可以轻松地让其他人使用您的模块,IDE 允许您创建一个二进制文件并将其发送给他人,然后其他人可以通过 Update Center 安装该文件。

本教程将介绍以下主题:

安装完软件之后,本教程可以在 30 分钟之内完成。

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


安装软件

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


安装示例

采用以下步骤来安装示例:

  1. 解压缩附加的文件
  2. 在 IDE 中,选择 File > Open Project,然后浏览到包含已解压缩文件的文件夹。打开模块项目。其形式如下:

  3. 右键单击项目节点并在 Target Platform 中选择 Install/Reload。将打开目标平台并安装该模块。
  4. 使用 New Project 向导 (Ctrl-Shift-N) 创建 Java 应用程序,注意它的 manifest 文件具有不同的图标,而且它的弹出菜单具有新项目。选择弹出菜单项并观察结果。

创建模块项目

  1. 选择 File > New Project (Ctrl-Shift-N)。在 Categories 下,选择 NetBeans Plug-in Modules。在 Projects 下,选择 Module Project 并单击 Next。
  2. 在 Name and Location 面板中,在 Project Name 中键入 ManifestFileType。将 Project Location 更改为您计算机上的任何目录,如 c:\mymodules。选中 Standalone Module 单选按钮。该面板应该如下所示:

    单击 Next。

  3. 在 Basic Module Configuration 面板中,用 myorg 替换 Code Name Base 中的 yourorghere,从而整个代码的 Code Name Base 为 org.myorg.manifestfiletype。向默认的 Module Display Name 中添加空格,将它更改为 Manifest File Type。留下本地化包和 XML 层的位置,以便它们存储在名为 org/myorg/manifestfiletype 的包中。该面板应该如下所示:

  4. 单击 Finish。

IDE 创建 Manifest File Type 项目。该项目包含所有资源和项目元数据,如该项目的 Ant 构建脚本。该项目在 IDE 中打开。您可以在 Projects 窗口 (Ctrl-1) 中查看其逻辑结构,在 Files 窗口 (Ctrl-2) 中查看其文件结构。例如,现在 Projects 窗口应该如下所示:

有关以上每个文件的基本信息,请参阅 NetBeans 插件模块的快速入门指南


识别 Manifest 文件

  1. 右键单击项目节点并选择 New > File Type。单击 Next。
  2. 在 File Recognition 面板中,执行以下操作:
    • 在 MIME Type 编辑框中,键入 text/x-java-jar-manifest
    • 在 by Filename Extension 编辑框中,键入 .mf .MF

    File Recognition 面板应该如下所示:

    注意以下关于 File Recognition 面板中各字段的内容:

    • MIME Type。 指定数据对象的唯一 MIME 类型。
    • by
      • Filename Extension。 指定 IDE 将识别为属于特定 MIME 类型的一个或多个文件扩展名。可以在文件扩展名之前加一个点。分隔符是逗号、空格或两者都有。因此,以下所有这些都有效:
        • .abc,.def
        • .abc .def
        • abc def
        • abc,.def ghi, .wow

        注意,JAR 文件中的 manifests 是“MANIFEST.MF”并且区分大小写(至少在 Unix 上)。由于这个原因,在本教程中您指定两个 MIME 类型,即 .mf.MF

      • XML Root Element。 指定使该 XML 文件类型区别于所有其他 XML 文件类型的唯一名称空间。由于很多 XML 文件都具有相同的扩展名 (xml),因此 IDE 通过它们的 XML 根元素来区分 XML 文件。更具体地说就是 IDE 可以区分名称空间和 XML 文件中的第一个 XML 元素。例如,您可以使用这种方法区分 JBoss 部署描述符和 WebLogic 部署描述符。进行了该区分之后,您可以确保添加到 JBoss 部署描述符上下文菜单的菜单项不可用于 WebLogic 部署描述符。要获得示例,请参阅 NetBeans Component Palette 模块教程

    单击 Next。

  3. 在 Name and Location 面板中,键入 Manifest 作为 Class Name Prefix,并浏览到作为新文件类型图标的任何 16x16 像素的图像文件,如下所示。

    注意到在 NetBeans 安装目录中发现了几个 16x16 像素图像文件,例如,在以下位置:

    enterprise2\jakarta-tomcat-5.5.7\server\webapps\admin\images.

    对于本教程,只使用上面目录中的 Datasource.gif 图像。其形式如下:

  4. 单击 Finish。

    现在 Projects 窗口应该显示如下:

下面简要介绍每个新生成的文件:


为 Manifest 文件添加功能

添加操作

  1. 右键单击项目节点并选择 New > Action。单击 Next。
  2. 在 Action Type 面板中,单击 Conditionally Enabled。键入 ManifestDataObject,它是 New File Type 向导在上面生成的数据对象的名称,如下所示:

    单击 Next。

  3. 在 GUI Registration 面板中,选择 Category 下拉列表中的“Edit”类别。Category 下拉列表控制操作在 IDE 的 Keyboard Shortcuts 编辑器中显示的位置。

    接下来,选择 Unselect Global Menu Item,然后选择 File Type Contect Menu Item。在 Content Type 下拉列表中,选择您在上面的 New File Type 向导中指定的 MIME 类型,如下所示:

    注意到您可以设置菜单项的位置,并且可以将它与其之前和之后的菜单项分离。单击 Next。

  4. 在 Name and Location 面板中,键入 MyAction 作为 Class Name,键入 My Action 作为 Display Name。上下文菜单提供的菜单项不显示图标。因此,单击 Finish,MyAction.java 便添加到 org.myorg.manifestfiletype 包中。
  5. 在 Source Editor 中,向操作的 performAction 方法中添加一些代码:
        protected void performAction(Node[] activatedNodes) {
    ManifestDataObject d = (ManifestDataObject) activatedNodes[0].getCookie(ManifestDataObject.class);
    FileObject f = d.getPrimaryFile();
    String displayName = FileUtil.getFileDisplayName(f);
    String msg = "I am " + displayName + "!";
    NotifyDescriptor nd = new NotifyDescriptor.Message(msg);
    DialogDisplayer.getDefault().notify(nd);
        }

    按 Alt-Shift-F。IDE 会自动将 import 声明添加到类的顶部。某些代码仍然标有红色下划线,表示并不是所有所需的包都位于该类路径上。右键单击项目节点,选择 Properties,然后在 Project Properties 对话框中,单击 Libraries。在 Libraries 窗格的顶部单击 Add 并添加 Dialogs API。

    MyAction.java 类中,再次按 Alt-Shift-F。由于 IDE 在 Dialogs API 中找到了所需的包,因此红色下划线消失。

  6. 在 Important Files 节点中,展开 XML Layer。两个节点 <xml layer><this layer in context> 以及它们的子节点组成了 System Filesystem Browser。展开 <this layer>,展开 Loaders,继续展开节点,直到您看到上面创建的 Action
  7. 拖放 My Action 以便它出现在 Open 操作下,如下所示:

    正如您从上两步所看到的,可以使用 System Filesystem Browser 快速识别在 System Filesystem 中注册的项目序列。


安装 Manifest File DataLoader 模块

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

安装 NetBeans 插件

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

    模块即在目标 IDE 中构建和安装。目标 IDE 打开,您可以试用新的模块。默认目标 IDE 是由 IDE 的当前实例使用的安装。

使用 NetBeans 插件

  1. 创建新的模块项目。
  2. 展开 Important Files 节点。

    注意到 Module Manifest 文件具有您在其模块中指定给它的图标,可以右键单击上下文菜单使用在其 layer.xml 文件中定义的操作列表:

  3. 选择新的菜单项,manifest 文件的名称和位置如下所示:

  4. 右键单击新模块项目节点并选择 New > File/Folder。在 Other 类别中,新文件类型可以使用虚拟的模板:

    如果您想通过虚拟模板提供默认代码,则向 New File Type 向导为您创建的 ManifestTemplate.mf 文件中添加该代码。

创建可共享的插件二进制文件

  1. 在 Projects 窗口中,右键单击 Manifest File Type 项目,并选择 Create NBM。

    将创建 NBM 文件并且可以在 Files 窗口中查看它 (Ctrl-2):

  2. 通过电子邮件使其他人也可以使用。收件人应该使用 Update Center (Tools > Module Manager) 来安装它。

进一步改善

您可能想添加某些功能:


下一步

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


版本控制

版本
日期
更改
1 2005 年 8 月 25 日
  • 初始版本。
  • 待办事项:
    • 添加创建后定制(即“新文件类型的扩展支持”部分)
    • 解释所生成的文件(当前是占位符)。
    • 解释层文件的条目。
    • 解释第一个 File Type 面板(当前是占位符)。
    • 可能为识别 XML 文件创建单独的教程。
2 2005 年 9 月 23 日
  • 常见问题解答中添加了很多信息,添加了 Action 向导和 System Filesystem Browser。
  • 待办事项:
    • 解释 LoaderBeanInfo.javaResolver.xml(每个一行)
    • 可能为识别 XML 文件创建单独的教程。
    • 使用 Tomcat GIF 可能不太好。
    • 操作也许应该执行更有用的功能。
    • 直接链接到 FAQ 可能不太好。
    • 可能需要有关 layer.xml 文件的更多信息。
    • 可能向该方案中添加了其他有用、支持 API 的功能。
    • 需要有关 MIME 类型的更多信息。
    • 介绍性的段落是用图形演示的。显示代码、数据对象、文件对象和数据加载程序等之间关系的图表。
3 2005 年 9 月 28 日
  • 集成了 Jesse Glick 的评论。
  • 待办事项:
    • 需要有关 MIME 类型的更多信息。
    • 介绍性的段落是用图形演示的。显示代码、数据对象、文件对象和数据加载程序等之间关系的图表。
    • 将添加很多 Javadoc 链接(也针对 performAction)。
    • 需要有关 cookie、cookie 操作、cookie 类的信息。
    • 即使我选择了自己的 mime 类型,操作仍然以 text-html 结尾。
    • 需要解释或链接到实例、阴影等的解释。
    • 需要在目标平台中安装的上下文中提到 Platform Manager。
    • 显示如何向属性表添加属性。
4 2005 年 10 月 4 日
  • 已在介绍性段落中添加了两个图表,来自 Tim Boudreau 的 JavaOne 演示。
  • 待办事项:
    • 需要有关 MIME 类型的更多信息。
    • 将添加很多 Javadoc 链接(也针对 performAction)。
    • 需要创建接近开始的部分:“有关的常见问题解答”:
      • 需要有关 cookie、cookie 操作、cookie 类的信息。
      • 需要解释或链接到实例、阴影等的解释。
      • DataLoader、DataObject 等等。
    • 需要在目标平台中安装的上下文中提到 Platform Manager。
    • 显示如何向属性表添加属性。
    • 提到您获得的虚拟面板,如何修改它以及如何在 New File 向导中设置描述。
4 2005 年 11 月 4 日
  • 已添加了可下载的源代码,新的“安装示例”部分以及结尾处到 Syntax Highlighting 教程的链接。
  • 待办事项:
    • 和 10 月 4 日相同的项仍然要执行。
5 2005 年 11 月 29 日
  • 已添加到全新的 Component Palette 教程的链接。
  • 待办事项:
    • 和 10 月 4 日相同的项仍然要执行。




↑返回目录
前一篇: NetBeans File Template 模块教程
后一篇: NetBeans Google Toolbar 模块教程