160 likes | 263 Views
Presented By:. What is JavaHelp:. Most software developers do not look forward to spending time documenting and explaining their product.
E N D
What is JavaHelp: • Most software developers do not look forward to spending time documenting and explaining their product. • JavaSoft has developed the JavaHelp API: a full-featured, platform-independent, extensible help system that gives developers and authors the ability to efficiently incorporate an online help system into applications (both network and stand-alone), applets, JavaBean components, HTML pages, operating systems, and devices. • To use JavaHelp in an application we need to prepare a set of files described below. With the exception of content files and search files, each file is expected to be in the XML format. • For more information about XML see http://www.w3.org/TR/WD-xml-lang-970331.html
JavaHelp Configuration Files: 1) Java Help API 2) HelpSet File - contains Helpset.hs 3) Map File - contains Map.jhm 4) Table of Contents(TOC) File (XML) 5) Index File (XML) 6) Help Content files. 7) Search Files( Database files)
What needs to be done: • Download and extract the JavaHelp API to the C:> , from http://java.sun.com/products/javahelp/ • Set up the path for the java indexer used for making a search database for the content files c:\jh2.0\javahelp\bin • Edit the java run time environment in your IDE( Eclipse, Netbeans or BlueJ, to include the java help api bin files…). • Start Coding
HelpSet File - contains layout.hs • HelpSet file allows JavaHelp to locate the configuration files for the different views. • It also stores the location of the map file which is used to map the content files to ID tags used in context sensitive help. • Layout of the HelpSet file.
Map File - contains layout.jhm • The map file is used to map the content files to the ID tags. • ID tags are used in context specific help and allow for abstraction of content file urls. • Map file layout.
Table of Contents(TOC) File (XML) • TOC represents a view that typically contains references to help topic IDs in a logically grouped order. • Layout of TOC file
Index File (XML) • Index view is very similar to a TOC view described before, but typically organizes references to help topics in alphabetical order. • Layout of the index configuration file.
Content Files • JavaHelp content files are stored in the HTML format. • We can use one or more content files. • The files can be stored locally or on a server. • The map file stores the IDs and the URLs of the content files.
Search Files( Database files) • The search view allows users to search through the content files for specific keywords. • Every instance of the keyword is highlighted in the content files where they are present. • Jhindexer: jhindexer is a utility which catalogs all the keywords found in the content files. • Running the indexer: from the root directory of the project, at the command prompt type: jhindexer contentFilesDirectoryName • JavaHelpSearch directory is created
Now Lets look at what to code • You will be Surprised to know that using this API cuts down the number of lines of code to less than 20. • Here is how you use the API and start coding …………………………..
HelpSet Class • This class represents a collection of help information files we discussed above: HelpSet, table of contents (TOC), index, content, and map files. • To create a HelpSet instance we must supply two parameters: a ClassLoader instance used to locate any classes required by the navigators in the help set, and the URL of the main HelpSet file. • The following code shows a typical HelpSet instantiation, assuming the main HelpSet file, helpset.hs, is contained in the current running directory: ClassLoader loader = this.getClass().getClassLoader(); URL url = HelpSet.findHelpSet(loader, “helpset.hs"); HelpSet hs = new HelpSet(loader, url);
The HelpBroker interface • This interface describes a component used to manage the presentation and interaction with a HelpSet. • We can use the HelpSet.createHelpBroker() method to retrieve an instance of HelpBroker. • We can then use HelpBroker’s enableHelpKey() method, specifying the String ID of a desired help topic, to enable JavaHelp on a given Component. HelpBroker hb = hs.createHelpBroker(); hb.enableHelpKey(myFrame.getRootPane(), "MyTopicID", hs);
The Map interface • This interface defines a String ID to URL mapping. • The inner class Map.ID is used to identify a help topic. It encapsulates a HelpSet reference / String ID pair. • Given an ID we can get the associated URL and vice versa. Each HelpSet has an associated Map instance.
JHelp Class • This class represents the main JavaHelp viewer capable of displaying help set data using JTree or JList navigators in a JTabbedPane, and a content viewer (normally a JEditorPane for HTML display). • The current implementation of JavaHelp does not provide public access to this class via HelpSet or HelpBroker instances. • You can do a lot more to customize your help viewers and add neat features such as context sensitive help etc.
Customize your Help Application • It is really easy to customize your application by using the classes offered by the API, Such as • HelpModel interface :It maintains IDs and URLs corresponding to the HelpSet being displayed • JHelpNavigator : navigation control (JTree or JList) for the GUI presentation of help topic data • CSH : context sensitive help • TreeItem : user objects in a navigational view’s JTree or JList. • HelpModelListener interface : listener which receives javax.help.event.HelpModelEvents when the current help topic is changed