Sun微系统的javaHelp系统是一种应用程序帮助技术,它可以在所有支持Java的平台和浏览器中运行??只要它是一个纯粹的Java产品。通过applet和Java应用程序,在其他环境下,比如在互联网或企业内部互联网中,它是理想的使用对象。在本文中,我将回顾JavaHelp的主要作用,并阐明它的简单使用方法。
优点
JavaHelp通过使用Java基础类(JFC) 软件组件来实现,这使得开发户自定义界面和功能变得灵活轻松。您可以轻而易举地将应用程序的帮助信息嵌入到应用程序之中,或者嵌入到另一个独立的窗口里。JFC 还具有通过自定义导航控件拓展帮助功能的能力。
JavaHelp使动态更新帮助数据或将其存储在一个便利的位置变得简单易行,不管是在客户端还是服务器端。内容窗口使用Html 3.2格式显示话题,使内容设计变得简单。标准导航提供内容表单(TOC)、索引和全文搜索。(TOC和索引都遵循W3C标准。)
JavaHelp Data Sheet提供以下信息:TOC提供层叠式和扩展式话题展示,无限量等级层次和多重TOC的合并。TOC与内容阅读器同步显示,也就是说显示的话题在TOC中被突出。索引支持多重索引的合并。全文搜索被设计得很灵活,并且可以配置。搜索引擎也可置于用户或服务器中的任一方。
帮助内容和搜索引擎被压缩成一个使用标准JAR格式的单个文件。尽管为了使存储和访问更具灵活性,推荐将所有文件压缩成一个单独的文件,但是您仍然可以将所有文件以扩展的格式保存在目录中。您可以在自定义编写的导航器、搜索引擎、标准JavaHelp阅读器或在任何HTML显示中,包括标准Web浏览器中,查看和导航内容。
JavaHelp API提供一个上下文敏感帮助和ID映射的机制。您可以将多重组件的帮助信息用JavaHelp API合并,这样用户就看到一个单独的完整文档。合并机制可以应用于TOC、索引和搜索数据库。
特性
JavaHelp有两个主要版本:1.1.3和2.0版。最早支持JavaHelp 2.0的Java版本是J2SE 1.2.2,因此您无需担心自己的代码是否支持JavaHelp。JavaHelp系统由一个特性完整的、可扩展的规范、API以及一个参考执行组成。
标准JavaHelp系统的主窗口:有三个显示窗口,在您退出窗口时并未被关闭,依然可配置。在默认情况下,一个主要窗口有以下三个窗格:工具栏、导航窗口和内容窗口。见图表1。
用户可以应用多种方式通过内部应用程序调用在线帮助,例如,当一个用户从帮助菜单中选择一项,或在应用程序GUI中点击帮助按钮,JavaHelp系统提供一个简便的界面,通过这个界面,应用程序要求话题的ID 得以显示。然后JavaHelp系统将话题ID与相应的URL相连接并将其显示出来。
ID被映射到一个被称作映射文件的JavaHelp系统元数据文件中的URL上。例如,当为文件选择对话框编码时,开发人员要求话题ID fc_help在当对话框底部的帮助按钮被点击时显示。在映射文件中,ID fc_help被定义为名为 FileChooser.html的文件,使用以下xml句法:
<mapID target="fc_help" url="html/help/FileChooser.html" />
将文件名(或URL)的规范从程序代码分离为内容的作者提供了控制与话题ID相关的信息的自由。
工具提示是一个显示给用户的简短信息,当光标停留在一个按钮上的时间间隔长于阈值时它就会出现。您还可以将工具提示信息纳入JavaHelp系统数据。
JavaHelp系统数据具有调用在线帮助的能力,能够在应用程序GUI中描述图形组件。用户操纵激活语境敏感帮助,然后将组件以问题形式特定化。与组件相联系的ID被显示。您可以从TOC、索引导航或主要窗口的内容窗格中显示帮助话题。
轻型组件
轻型组件能够向帮助话题添加功能。这些组件与Java的applet相似,但它们的加载和执行更为迅速。一个帮助的创作者能够使用已经在JavaHelp中执行的轻型组件;这个组件执行弹出窗口和次级窗口。在HTML 话题文件中使用轻型组件,您可以使用HTML <object>标记,正如列表A中的例子所显示的。
在例子中,弹出的对象包括文件../topicB/glossary_def.html,用户点击的对象(viewerActivator)是个链接,窗口类型属于弹出型,窗口大小为300x400,用户在链接中看到的内容是“Click here(点击这里)”。
Java开发商还可以创造新的轻型组件。例如,这样的组件可能为帮助话题添加动画和多媒体功能。
要求抽象查看的轻型组件必须执行javax.javahelp.impl.ViewAwareComponen。这些组件执行setViewData()方法。这个组件能够根据抽象查看中的信息决定它所执行的环境。(注重:要访问抽象查看,您应该使用JavaHelp API。)在列表B中,文档对象下面的编码片断来自于抽象查看。
需要更多关于创造Java轻型组件的信息,请参阅相关文件。
JavaHelp编写工具
有很多通过商业途径可以得到的编写工具能够为您的应用程序编写和维护一个完美的帮助系统。最有名的三个是Software7 Gmbh的Helen 1.5、Solutionsoft的HelpBreeze和Pivotonic的JawaHelpAuthor。所有这些第三方产品都支持Java 2 和Java 1.1标准。需要更多关于编写工具的信息,请参阅Sun的帮助编写工具页面。
试试看吧
假如JavaHelp听起来像是一个您认为您的用户和伙伴开发商都喜欢的系统的话,那么从Sun Microsystem公司的网站上马上下载吧。这个地址提供了安装过程所需要的所有信息。