NetBeans Help System 插件教程
反馈
本教程主要用来演示如何创建帮助系统以及如何在 NetBeans 文件系统中注册。
拥有描述插件的 HTML 文件之后,您必须将它们包装在插件中,该插件将它们集成在 NetBeans 文件系统中。要完成此操作,您需要创建一个帮助系统。除了 HTML 文件之外,帮助系统还包含以下文件:
- 映射文件。 指定映射 ID 的列表,每个 ID 都链接到特定的 HTML 文件。
- 目录文件。 使用映射 ID 将帮助文件安排到目录中。
- 索引文件。 使用映射 ID 将帮助文件安排到索引中。
- Helpset 文件。 通过参考映射文件、目录文件和索引文件定义帮助系统。
在本教程中您将创建这些文件中的每个文件,以及在 NetBeans 文件系统中注册帮助系统的文件。
您可以将帮助系统打包到包含 HTML 文件描述的代码的插件中,您也可以创建一个仅包含帮助系统的单独插件。本教程假设您想让帮助系统包含在单独的插件中。但是,如果您想让它们包含在 HTML 文件描述的插件中,则可以跳过“创建 Plug-in 项目”部分的前三个步骤。
本教程将介绍以下主题:
安装完软件之后,本教程可以在 20 分钟之内完成。
如果您在编写和集成帮助系统时有问题,请参阅模块 Helpset 集成常见问题解答。这些常见问题解答提供本教程中未涉及的很多其他详细信息。有关常规使用 NetBeans 插件的详细信息,请参阅 NetBeans 网站上的 NetBeans Development Project 主页。如果有问题,请使用本页顶部的反馈链接。
安装软件
开始之前,需要在您的计算机上安装以下软件:
- NetBeans IDE 5.0(下载)
- Java Standard Development Kit (JDK™) version 1.4.2(下载)或 5.0(下载)
安装示例
采用以下步骤来安装示例:
- 解压缩附加的文件。
- 在 IDE 中,选择 File > Open Project,然后浏览到包含已解压缩文件的文件夹。打开模块项目。其形式如下:
- 右键单击项目节点并在 Target Platform 中选择 Install/Reload。将打开目标平台并安装该模块。
- 选择 Help > Help Contents。
在 IDE 帮助左侧的 Contents 窗格的底部,您可以选择新的“About My Plugin”主题:
知道了最终结果后,将从头开始创建模块,并且在创建的同时了解每个部分。
创建 Plug-in 项目
- 选择 File > New Project (Ctrl-Shift-N)。在 Categories 下,选择 NetBeans Plug-in Modules。在 Projects 下,选择 Module Project 并单击 Next。
- 在 Name and Location 面板中,在 Project Name 中键入 MyHelpSystem。将 Project Location 更改为您计算机上的任何目录,如 c:\mymodules。选择 Standalone Module 单选按钮和 Set as Main Project 复选框。单击 Next。
- 在 Basic Module Configuration 面板中,用 myorg 替换 Code Name Base 中的 yourorghere,从而整个代码的 Code Name Base 为 org.myorg.myhelpsystem。向默认的 Module Display Name 中添加空格,将它更改为 My Help System。留出本地化包和 XML 层的位置,以便它们存储在名为 org/myorg/myhelpsystem 的包中。单击 Finish。
IDE 创建 My Help System 项目。该项目包含所有资源和项目元数据,如该项目的 Ant 构建脚本。该项目在 IDE 中打开。您可以在 Projects 窗口 (Ctrl-1) 中查看其逻辑结构,在 Files 窗口 (Ctrl-2) 中查看其文件结构。例如,现在 Projects 窗口应该如下所示:
- 在 Projects 窗口中,右键单击该项目节点,并选择 New > File/Folder。在 New File 向导中,选择 Categories 下的 Other 和 File Types 下的 Folder。单击 Next。将该文件夹命名为 javahelp/org/myorg/myhelpsystem,然后单击 Finish。
在 Files 窗口中,右键单击 javahelp 节点并创建一个名为 org/myorg/myhelpsystem/myhtmlfiles 的子文件夹。将所有描述插件的 HTML 文件放到 myhtmlfiles 文件夹中。如果您在没有 HTML 文件的情况下使用本教程,请右键单击 myhtmlfiles 节点并选择 New > File/Folder。在 Categories 下选择 Other,在 File Types 下选择 HTML File。单击 Next。将该 HTML 文件命名为 about_myplugin,然后单击 Finish。用以下内容替换默认内容:
<html>
<head>
<title>About My Plug-in</title>
<link rel="StyleSheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
</head>
<body>
<h2>About My Plug-in</h2>
<p>This is the greatest plug-in in the world!</p>
</body>
</html>
注意,HTML 文件使用的样式表与标准 NetBeans 帮助系统使用的样式表相同。如果您想将您的帮助系统与标准的 NetBeans 帮助系统集成,建议您使用相同的样式表。
现在 Files 窗口应该显示如下:
- 在 Projects 窗口中,展开 Important Files 节点,双击 NetBeans Platform Config 将它在 Source Editor 中打开。添加以下属性:
jhall.jar=path-to-jhall.jar
javahelp.base=org/myorg/myhelpsystem
需要使用这些属性来编译帮助系统。下面对它们进行解释:
jhall.jar—由 JDK 提供的库之一。
javahelp.base—将容纳 helpset .hs 文件的文件夹的完整路径。
有关以上每个文件的基本信息,请参阅 NetBeans 插件模块的快速入门指南。
创建 Help System
在您创建目录、上下文敏感的帮助以及索引之前,您必须创建一个映射文件。该映射文件为组成您的 helpset 的每个 HTML 文件声明一个映射 ID。映射 ID 由是映射 ID 的目标以及指向 HTML 文件位置的 URL 组成:
<mapID target="about_myplugin" url="myhtmlfiles/about_myplugin.html"/>
您在目录文件和索引文件中使用映射 ID。例如,在目录文件中您将使用上面声明的映射 ID 如下:
<tocitem text="About My Plug-in" target="about_myplugin" />
创建映射文件
执行以下操作以创建映射文件:
- 在 Files 窗口中,右键单击 javahelp/org/myorg/myhelpsystem 节点,并选择 New > File/Folder。在 New File 向导中,选择 Categories 下的 Other 和 File Types 下的 Empty File。单击 Next。将该文件命名为 myplugin-map.jhm,然后单击 Finish。
- 将以下内容复制并粘贴到空文件中:
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN"
"http://java.sun.com/products/javahelp/map_1_0.dtd">
<map version="1.0">
<mapID target="about_myplugin" url="myhtmlfiles/about_myplugin.html"/>
</map>
注意,您必须为要在帮助系统中显示的每个帮助文件创建一个映射 ID。
- 按 Ctrl-S 保存文件。
注意,对于上下文敏感的帮助来说,映射 ID 正常情况下是完全限定的类名称。例如,节点或对话框可能具有如下方法:
return new HelpCtx(mydialogbox.class);
在映射文件中,您将指定映射 ID 如下:
<mapID target="org.myorg.mymodule.mydialogbox" url="myhtmlfiles/about_mydialogbox.html"/>
使用映射文件
如上所述,您在两个其他文件中使用映射文件中定义的映射 ID:
执行以下操作以创建目录文件:
- 在 Files 窗口中,右键单击 javahelp/org/myorg/myhelpsystem 节点,并选择 New > File/Folder。在 New File 向导中,选择 Categories 下的 XML 和 File Types 下的 XML Document。单击 Next。将该文件命名为 myplugin-toc,单击 Next,然后单击 Finish。
一个空的 XML 文件在 Source Editor 中打开,它的节点显示在 Projects 窗口中。
- 用以下内容替换默认 <root> 元素:
<toc version="2.0">
<tocitem text="My Plug-in">
<tocitem text="About My Plug-in" target="about_myplugin" />
</tocitem>
</toc>
注意,您必须为要在帮助系统的目录中显示的每个帮助文件创建一个 <tocitem>。
- 按 Ctrl-S 保存文件。
执行以下操作以创建索引文件:
- 在 javahelp/org/myorg/myhelpsystem 包中创建名为 myplugin-idx 的 XML 文档。
- 用以下内容替换默认 <root> 元素:
<index version="2.0">
<indexitem text="My Plugin" target="about_myplugin" />
</index>
注意,您必须为要在帮助系统中索引的每个项目创建一个 <indexitem>。由于主 helpset 提供字母分隔符,因此不需要附加的插件来包含它们。
- 按 Ctrl-S 保存文件。
创建 Helpset 文件
- 在 Files 窗口中,右键单击 javahelp/org/myorg/myhelpsystem 节点,并选择 New > File/Folder。在 New File 向导中,选择 Categories 下的 Other 和 File Types 下的 Empty File。单击 Next。将该文件命名为 myplugin.hs,然后单击 Finish。
- 将以下内容复制并粘贴到空文件中:
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN"
"http://java.sun.com/products/javahelp/helpset_2_0.dtd"">
<helpset version="2.0">
<title>My Plugin Help</title>
<maps>
<homeID>myplugin</homeID>
<mapref location="myplugin-map.jhm"/>
</maps>
<view mergetype="javax.help.AppendMerge">
<name>TOC</name>
<label>Table of Contents</label>
<type>javax.help.TOCView</type>
<data>myplugin-toc.xml</data>
</view>
<view mergetype="javax.help.AppendMerge">
<name>Index</name>
<label>Index</label>
<type>javax.help.IndexView</type>
<data>myplugin-idx.xml</data>
</view>
<view>
<name>Search</name>
<label>Search</label>
<type>javax.help.SearchView</type>
<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
</view>
</helpset>
注意到以上代码中已经将您在以前部分中定义的每个文件高亮显示。
- 按 Ctrl-S 保存文件。
现在 Files 窗口应该显示如下:

注册 Help System
在 NetBeans 文件系统中注册帮助系统涉及以下文件:
- Helpset 参考文件(.xml 扩展名)。
- 层文件(.xml 扩展名)。
helpset 参考文件参考 myplugin.hs 文件并使其可用于 layer.xml 文件。layer.xml 文件在 NetBeans 文件系统中注册帮助系统。
执行以下操作以创建 helpset 参考文件:
- 在 org/myorg/myhelpsystem 包中创建名为 helpset 的 XML 文档。
- 用以下内容替换默认 <root> 元素:
<!DOCTYPE helpsetref PUBLIC
"-//NetBeans//DTD JavaHelp Help Set Reference 1.0//EN"
"http://www.netbeans.org/dtds/helpsetref-1_0.dtd">
<helpsetref url="nbdocs:/org/myorg/myhelpsystem/myplugin.hs"/>
- 按 Ctrl-S 保存文件。
如上所示,您在
layer.xml 文件中使用
Services/JavaHelp 文件夹结构以注册 helpset 参考文件以及指定顺序属性。该顺序属性指定在现有帮助系统中放置该帮助系统的位置。例如,下例中的 helpset 文件放置在
org-netbeans-modules-usersguide-below-regular.txt 之后。
执行以下操作以在 layer.xml 文件中注册 helpset 参考文件:
- 在 Projects 窗口中,展开 Source Packages 节点,展开 org.myorg.myhelpsystem 节点,双击 layer.xml 文件将它在 Source Editor 中打开。在 layer.xml 文件中的 <filesystem> 标记之间添加以下条目:
<folder name="Services">
<folder name="JavaHelp">
<file name="org-myorg-myhelpsystem-helpset.xml" url="helpset.xml"/>
<attr name="org-netbeans-modules-usersguide-below-regular.txt/org-myorg-myhelpsystem-helpset.xml" boolvalue="true"/>
</folder>
</folder>
- 按 Ctrl-S 保存文件。
如果您想隐藏 IDE 的现有 helpset,则可以在 layer.xml 文件的 JavaHelp 文件夹中添加以下内容:
<file name="com-sun-enterprise-tools-studio-j2ee-helpset.xml_hidden"/>
<file name="org-netbeans-modules-j2ee-helpset.xml_hidden"/>
<file name="org-netbeans-modules-usersguide-helpset.xml_hidden"/>
<file name="org-netbeans-modules-apisupport-project-helpset.xml_hidden"/>
<file name="org-netbeans-modules-web-monitor-resources-helpset.xml_hidden"/>
<file name="org-netbeans-modules-db-helpset.xml_hidden"/>
<file name="org-netbeans-modules-tomcat5-helpset.xml_hidden"/>
<file name="org-netbeans-modules-dbschema-helpset.xml_hidden"/>
<file name="org-netbeans-modules-versioning-system-cvss-resources-helpset.xml_hidden"/>