用JavaHelp系统开发和交付更好的文档计算机等级考试
文章作者 100test 发表时间 2010:01:01 12:31:19
来源 100Test.Com百考试题网
在线帮助系统是任何软件系统整体不可或缺的一部分。帮助系统可提供直观的帮助信息,使用户可以轻松的浏览、查找和显示帮助信息,同时有助于用户学习系统的使用,如此一来,许多应用程序的学习周期就大大缩短。然而,从传统上讲,由于 Java 语言中没有集成帮助系统,那么 Java 开发人员不得不从零开始创建自己定制的帮助系统。这样不仅成本高,而且费时。
现在有了 JavaHelp 技术,Java 开发人员就不再需要为应用程序所运行的每个平台构建自己的帮助系统。JavaHelp 技术的目的是满足当今的工业强度的应用程序。
本文将详细介绍如何使用 JavaHelp 系统来为您的软件系统提供更好的帮助信息。内容包括:
帮助信息实现方法概述。
- JavaHelp 技术介绍。
- JavaHelp 技术的功能特点和优势的讨论。
- 开发帮助信息所应用的风格。
- 可用于您自己应用程序中的示例代码。
帮助系统的可选方案 Java 开发人员可用以下几种方案来实现其应用程序的帮助系统:
- 无帮助系统:让用户自行判断和领会系统是如何工作的。然而,一个软系统如果没有文档、帮助信息系统、或者手册,那么该软件系统就是不完全的。而且还会影响到使用它的用户。设想一下没有使用手册的 Adobe Photoshop 会是什么一种情况!
- 使用 HTML:这是一个低成本的选项,但是其功能和导航受到限制。
- 自定义系统:这是一个高成本的选项,耗费资源和时间。
- 第三方私有方案:这是一个可替代自定义系统的可行的方案;然而,它也有自己的后果,包括:成本和长期支持。如果软件供应商破产,你能做些什么呢?
这就是为什么要设计 JavaHelp 技术的原因。
JavaHelp 技术
JavaHelp 是一个可扩展的、平台独立的帮助系统,可使作者和开发人员将在线帮助融合到applet、应用程序、操作系统和设备之中。它也可用来 Web 上和公司内部 Intranet 上传递在线文档。它的设计理念之一就是以网络为中心,帮助数据和搜索功能既可以在客户端,也可以在服务器端,同时帮助数据可以通过 Web 进行更新。
JavaHelp 系统是用 Java 语言所写,因此可以运行在任何支持 Java Runtime Environment (JRE)的平台或者浏览器上。这说明,它可用于异构环境中,如 Web 或 公司内部 Intranet。此外,它还可以用来为任何软件应用程序开发和提供在线帮助,而不只是针对那些用 Java 语言开发而成的应用程序。而且,它也可以自我应用,而不需与任何软件相关联--正如以 Web 为中心的分类文档(如人力资源、技术支持、等)的传输机制。
JavaHelp 1.0 在 1999 年首次发布,经历了数年的发展和完善,该技术现在已经成熟。 JavaHelp 2.0 技术由 Java Community Process (JCP) 设计成 JSR-97。这说明和 WinHelp 不同,JavaHelp 具有 HTML 内容的跨平台优势,因为它并不将公司局限于单一的平台。请务必注意:JavaHelp 系统可以用来为部署在任何平台上的任何软件应用程序(而不仅仅是基于 Java 语言的应用程序)传递和提供在线帮助。
JavaHelp 系统得到了来自行业和 主要帮助写作工具供应商 的广泛支持。
JavaHelp 的功能和优势 JavaHelp 提供了几个对文档写作十分有用的功能。此外,它所提供的几个可重用的组件可为 Java 开发人员节省大量的时间。JavaHelp 的一些功能如下:
- 帮助导航器:内容目录 (TOC) 支持以可折叠和可扩展的方式显示主题、无限分级、多目录合并;一个索引支持多索引合并;和具有灵活和可配置特性的全文检索。
- 压缩:基于 JavaHelp 的帮助系统可以压缩并封装到一个单一的 Java Archive (JAR)文件中。
- 可扩展和可定制: JavaHelp API 可用来定制或者扩展用户界面及其功能。 Extensions 可以自定义导航,甚至是语音和声音。这就使得作者在设计帮助系统时有更大的灵活性和控制力。
- 上下文帮助:这是由 Swing 提供的。
- 合并功能:在提供给用户之前可以对多个帮助组件进行合并。
- 动态更新:许在线帮助系统在发布之后进行动态更新。
- 适应性强:可使帮助系统适用于提供和显示信息。在最终部署环境事先未知的情况下,这将十分有用。
- 可本地化:Java 支持国际化(I18N),因此 JavaHelp 系统可以轻松进入国际市场。
部署和操作情况
JavaHelp 技术为作者和开发人员提供了几种在应用程序中部署或调用它的方法。由于它是以网络为中心的,所以它可以独立于它所支持的应用程序而运行。它甚至可以嵌入应用程序之中。并且由于它是用 Java 语言所写,因此它具有平台独立和浏览器独立的特点,可运行在任何支持Java Runtime Environment (JRE)的平台和浏览器上。这使得它成为当今异构计算环境中的理想的选择。
这里是 JavaHelp 提供帮助信息的几种情况:
- 独立应用程序:这是一个运行在桌面上的无需浏览器的本地应用程序。JavaHelp 帮助查看器可以作为一个单独的应用程序或者一个嵌入到该本地应用程序本身的应用程序而运行。
- 网络应用程序:这些是网络应用程序,它们从远程服务器提取数据。JavaHelp 系统从远程服务器装载帮助信息是可能的。这对软件开发商来说十分有用,它们就可以为其客户提供轻量级的客户端应用程序,这些轻量级的应用程序从远程服务器提取帮助信息。软件供应商可以随意更改帮助信息,而不需要发布新的软件版本。
- Applets:运行于 web 浏览器中的小应用程序。JavaHelp 系统本身可以是浏览器的一部分,同时帮助数据可以是,也可以不是应用程序的一部分。
- 基于服务器的应用程序:这是一个运行于 Java 服务器上的,但使用浏览器作为其 GUI 的应用程序。
参考实现
Sun Microsystems 提供一个参考实现 (JavaHelp System),它将实现 JavaHelp 规范。它具有成熟、健壮和可靠的特点,并可供开发人员所使用。JavaHelp System 下载的地址是: http://java.sun.com/products/javahelp。其最新的版本是2.0_01.
参考实现是以压缩文件的形式出现的,在选择的目录下对它进行解压缩就可以轻松的进行安装。 如果您选择 Windows 的 c:\ 作为其目的,它将被安装到 c:\jh2.0 下。
参考实现附带有文档、工具和几个演示程序。二进制演示程序位于 c:\jh2.0\demos\bin, 用 java -jar demoName.jar 命令可以方便的运行这些演示程序。除了这些演示程序外,目录 c:\jh2.0\javahelp\bin 含有 jhindexer 和 jhsearch 工具,它们分别用来创建索引数据库和搜索的。最后,目录 c:\jh2.0\javahelp\lib 含有 JavaHelp API 的 JAR 文件,它们是:
jh.jar: 使用标准导航器(目录、索引、全文检索)所需的标准库。
- jhbasic.jar: 它是 jh.jar 的子集,不包含对全文搜索引擎的支持。对于那些大小很关键的帮助信息系统,或者不需要全文检索数据库的系统来说,这可能会十分有用。
- jhall.jar: 含有所有 JavaHelp 系统类,以及创建检索数据库所需的工具。
- jsearch.jar: 含有用于 JavaHelp 系统中的全文搜索引擎。
JavaHelp 帮助查看器
参考实现所附带的一个有趣的演示程序是帮助查看器(c:\jh2.0\demos\bin\hsviewer.jar),它是一个 helpset 查看器,可用来查看本文将要部署的帮助信息。值得注意的是它和 508 兼容。
内容窗格: 使用 HTML 和 frame 、表格和轻量级组件显示帮助主题
导航窗格: 一个标签界面,用户可以在目录、索引和全文搜索显示模式之间进行切换。需要指出的是,导航器和内容查看器是同步的,所以用户总是知晓相对位置和选项。