help in java_使用javaHelp制作java swing帮助文档

本文介绍了如何利用JavaHelp库为Swing应用程序创建一个类似Windows CHM的帮助系统。主要涉及的文件包括HelloHelp.java(启动类)、Hello.hs(帮助集)、Map.jhm(映射文件)和Toc.xml(主题文件)。JavaHelp通过这些文件实现帮助项与HTML内容的映射,并展示在应用中。开发者可以下载提供的jar包并参考示例代码来构建自己的帮助系统。
摘要由CSDN通过智能技术生成

最近在做一个Swing项目,项目接近尾声,需要做最后的帮助系统了。简单搜索了一下,找到了javaHelp。JavaHelp是sun推出的编写帮助系统的一个类库,能够开发类似windows的CHM帮助文档。Jar包下载地址:http://dl.vmall.com/c0paz9lpea 。

一个完整的帮助系统至少需要下图中的几个文件。HelloHelp.java是帮助系统启动的类。Hello.hs是帮助系统的核心helpset,必须以hs为后缀。Map.jhm是一个映射文件,它将帮助系统中每一项映射到硬盘上的某个html文件,必须以jhm结尾。Toc.xml是主题文件,可以控制帮助系统的界面等一些东西。Hello文件夹内是N多个html文件,和CHM类似,这个不多说。下面详细解释一下每个文件。

f640308be081efc185fef5a34acabd19.png

hello.java

public classHelloHelp {public static voidmain(String args[]) {

JFrame frame= new JFrame("Hello, JavaHelp");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container content=frame.getContentPane();

JMenuBar menubar= newJMenuBar();

JMenu helpMenu= new JMenu("Help");

JMenuItem overview= new JMenuItem("Overview");

helpMenu.add(overview);

menubar.add(helpMenu);

frame.setJMenuBar(menubar);

HelpSet helpset= null;

ClassLoader loader= null;

URL url= HelpSet.findHelpSet(loader, "hello.hs");//这一句是找到helpset文件

try{

helpset= newHelpSet(loader, url);

}catch(HelpSetException e) {

System.err.println("Error loading");return;

}

HelpBroker helpbroker=helpset.createHelpBroker();

ActionListener listener=

newCSH.DisplayHelpFromSource(helpbroker);

overview.addActionListener(listener);

frame.setSize(500, 300);

frame.show();

}

}

2.接下来看Hello.hs中的代码。一个maps节点指向的是map映射文件overview这一句指定了帮助系统的根节点,其中view节点指向的是主题toc.xml文件

//Hello.hs源码/

/p>

PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN"

"http://java.sun.com/products/javahelp/helpset_1_0.dtd">

Hello, JavaHelp

overview

TOC

TOC

javax.help.TOCView

toc.xml

3.继续看map映射文件。MapID的target是在其他代码中使用的,不能重复。url指向的就是html文件。帮助系统中的每个帮助项都是一个html文件。

//map.jhm源码/

/p>

PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN"

"http://java.sun.com/products/javahelp/map_1_0.dtd">

4.最后是toc.xml。target必须是在map中已定义的值,不然是找不到的。像这种结构

最后显示出来的结构就是这样的

--- Hello, JavaHelp

----- First Stuff

----- The One

----- The Second

Text是在界面上显示的值

//toc.xml源码/

/p>

PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN"

"http://java.sun.com/products/javahelp/toc_1_0.dtd">

这个比较简单,有兴趣的可以把代码复制进自己的程序试试。记得把Hello文件中的几个html文件补上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值