I started out with a not asking too much of JavaHelp.
isoPanel is a JPanel in the main dialog and "il" is an entry in the help TOC that refers to that topic.
If I hit the help button, Help comes up and the main help topic is displayed.
If I press F1 in isoPanel, the topic changes to "il"
Then I got greedy. I was asked to create a lot of sub-dialogs. I wanted F1 to work there also.
So I created a class that takes the HelpSet and HelpBroker that I created in the main dialog. It is a singleton that all the subdialog creation code can access. It has only one method-
What I ended up with is a total mess. Sometimes the current Help dialog is updated with the new topic. Other times, a second Help dialog appears. If that happens the existing Help dialog becomes disconnected, i.e., you can't use the navigation keys or close it. Sometimes, when I have a modal subdialog, the second Help dialog closes when the sub-dialog is closed. But the original Help dialog no longer works and can only be closed by closing the entire Java application, which also results in null pointer complaints.
I've been trying to sort this out reading the oracle documentation. I just don't see why I am getting multiple Help dialogs using when HelpBroker and one HelpSet.
Can anyone give me some tips on what I should do to resolve/understand this problem?