WindowPresentation.setSize
not working on dialogs.
The symptom was that calling HelpBroker.setSize
had no effect
on the size of the help window. Now setting the size of the presentation works
in all cases.FavoritesAction
in ApiDemo throws null pointer
exception. The NPE was thrown because the BasicFavoritesNavigator
class stored the last HelpEventModel
, which in some cases didn't
exist. This class has been changed to use the currentID
and currentURL
from the HelpModel
instead.
There was an additional request in this bug report to add a Favorites button to the IdeDemo. IdeDemo doesn't require a Favorites button because the user can add a Favorites item by right-clicking the mouse inside the Favorites navigator.
FavoritesNode
causes a null value to be created for a child, which in turns causes an IllegalArgumentException
to be thrown. Fixed in this release - it's now possible to add a an item to
the Favorites navigator without causing exceptions.collapseID()
and expandID()
methods
have been added to JHelpTOCNavigator
and JHelpIndexNavigator
.<homeID>
topic should be highlighted in
TOC. The home topic is now highlighted in the TOC or index when the help set
first opens.MouseEvent
of the user's click from CSH.trackCSEvents
.
The solution was to create a new set of methods in the CSH
class and a new interface named CSH.Manager
. There is an explanation
in the JavaHelp System User's Guide (section 5.3.4 "Dynamic
Map ID Assignment") of how to use the CSH
methods and
CSH.Manager
to assign help IDs dynamically.
in.close()
in Index.java
when done with an InputStream
.HelpModel.setCurrentURL
doesn't work when currentURL
is null. This method was passing a null URL. It now works correctly.setSize
method to MainWindow
.
This method determines first if the dialog or frame exists and then passes
their values back in getSize
rather than the default sizes. If
the dialog or frame doesn't exist the defaults are returned.System.exit
. The original
problem was caused by the user's incorrectly specifying the search engine
in the helpset file. Thus, even with this fix, search won't work if the search
engine isn't specified correctly, but now the error doesn't cause the JVM
to exit.xml:lang
tag doesn't parse locale strings correctly.
The problem was that the parser couldn't handle the "-" character.
Now it does.SecondaryViewer
memory leaks and out of memory
errors. Secondary windows were complete rewritten in version 2.0 and shouldn't
exhibit any memory leaks.BasicSearchCellRenderer
throws a NullPointerException
when the title member is null, and the help viewer fails to load and paint.
The fix was to not make the call if the title is null. Thread.stop()
in the
search engine. The fix was to completely rewrite the code in the search engine.DefaultHelpBroker.setHelpSet
doesn't work as
expected. The reported problem was with two help sets called programmatically
as follows:DefaultHelpBroker
by calling its default constructor.DefaultHelpBroker.setHelpSet()
.DefaultHelpBroker.setHelpSet(a),
worked as expected.DefaultHelpBroker.setHelpSet(b)
, did display b's TOC,
but the content pane was still using the page from helpset a.DefaultHelpBroker.setHelpSet(b)
had no effect at all.
It still displayed a's TOC.currentID
,
or you need to have a homeID
set for the helpset to which you
switch. Either technique will correctly display a page from the current helpset.
CSH.DisplayHelpAfterTracking
, the first time the
actionPerformed
method was called, the help window displayed
the home page rather than the context-sensitive topic in the content pane.
This bug was fixed, and now the context-sensitive page displays as expected.DefaultHelpBroker.setSize(Dimension)
and setLocation(Point)
don't work. The helpset could not be resized or moved with these two methods.
These methods are now working.setHelpID()
is called the JavaHelp browser opens but always shows the default topic defined
for the helpset. After the first time the call works properly. This bug was
fixed, and the first call to setHelpID()
now displays the topic
associated with the helpID.displayviews="false"
attribute when you define the presentation
because the navigators display by default for any presentation defined in
the helpset. To get a toolbar to display, you must define one with the <toolbar>
tag. In previous versions of JavaHelp, you could directly access the frame in which JavaHelp is displayed if you extended the DefaultHelpBroker. After extending DefaultHelpBroker, you were able access the protected JFrame frame field.
In JavaHelp 2, the frame field is no longer accessible. In applications that use JavaHelp 2, you will have to rewrite code that does this kind of frame access. Use the following methods:
WindowPresentation DefaultHelpBroker.getWindowPresentation();
Window WindowPresentation.getHelpWindow();
You will still be able to access the frame with the following method calls:
WindowPresentation pres = hb.getWindowPresentation();
Window win = pres.getHelpWindow();
All files in the JavaHelp system are specified as URLs. The separator between elements (files) in a hierarchy should be "/". In some cases "\" works on the Win32 platforms; however when the files that contain these references are added to JAR files or moved to different platforms, these references no longer work.
JavaHelp software is intended for help authors, information architects, and software developers who need a framework for delivering online help and documentation.
Changes since the 1.1.3 release are described in the "Release
Information" chapter of the JavaHelp System User's Guide.
You can view the JavaHelp System User's Guide either as a PDF
file or as a JavaHelp helpset by executing the UserGuide.jar
file in the demos\bin
folder as described in the
next section, Contents of the Release.
The contents of the release are described in the "Release Information" chapter
of the JavaHelp System User's Guide. You can view the JavaHelp System
User's Guide by executing the UserGuide.jar file in the demos\bin
folder.
To execute the jar file, open a command window and change your directory to
the demos\bin
folder, then enter the following command at the command
line:
java -jar UserGuide.jar
The JavaHelp System User's Guide is also included in PDF format in doc\jhug\jhug.pdf
and can be read and printed by using the Adobe Acrobat Reader program available
at http://www.adobe.com/products/acrobat/readstep2.html.
You install JavaHelp software by extracting the zip file. While most installations will not require any additional installation tasks, some installations might require that the environment variable JAVAHELP_HOME be defined so that jhindexer and jhsearch will work correctly. You will know that you need to set JAVAHELP_HOME if, after installation, you see an error from jhindexer or jhsearch indicating that the environment variable needs to be set.
The following files are redistributable. Distribution of these files is governed by the Terms and Conditions of the JavaHelp Binary Code License.
javahelp/lib/jh.jar |
The standard library that includes everything needed to use the help viewer and the standard navigator types (TOC, index, full-text search). |
javahelp/lib/jhall.jar |
Includes all the JavaHelp system classes, including the tools required to create a search database. |
javahelp/lib/jhbasic.jar |
A subset of jhall.jar that does not include support for
the full-text search engine. This subset might be useful for simple help
systems that do not require a full-text search database or for help systems
whose size is important. |
javahelp/lib/jhsearch.jar |
The default full-text search engine used in the JavaHelp system. |
We maintain a mailing list for regular information about JavaHelp updates and events. To subscribe, send mail to:
In the body of the message type
SUBSCRIBE JAVAHELP-INFO
Comments and questions about how the JavaHelp system software works are welcome. Please review the FAQ at our home page, and if your question is not covered, send email by using the following web page:
http://java.sun.com/docs/forms/javahelp-sendusmail.html
If you have comments on the JavaHelp specification, instead of the web page above, please send comments to:
Your email message will be read. However, due to the large volume of emails, we might not able to respond personally.
Sun maintains a mailing list as a JavaHelp community resource where interested parties can post and exchange information and inquiries about the JavaHelp system in a public forum. Subscribers to this list can receive inquiries either as they are posted or in regular digest versions.
To subscribe, send mail to:
In the body of the message type:
SUBSCRIBE JAVAHELP-INTEREST
To view archives, manage your subscription, or to unsubscribe, go to:
http://archives.java.sun.com/archives/javahelp-interest.html
Other information can be obtained at our web site:
We hope to hear from you!
Limitations and bugs are described in the "Release Information" chapter of
the JavaHelp System User's Guide. You can view the JavaHelp System User's
Guide as a JavaHelp helpset by executing UserGuide.jar in the demos\bin
folder as described previously under Contents
of the Release.
Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Sun, Sun Microsystems, the Sun Logo, Solaris, Java, the Java Coffee Cup Logo, JDK, Java Foundation Classes (J.F.C.), Java Plug-in and JavaHelp are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013 (Oct. 1988) and FAR 52.227-19 (c) (June 1987).