Bien le salut,
Plutôt que de programmer ça moi-même je me suis dit que ce serait bien de chercher s'il existait déjà une librairie Java pour afficher une fenêtre d'aide avec une TOC et où les fichiers de contenu seraient écrits en HTML.
Je l'ai trouvée, elle s'appelle HelpGUI (http://helpgui.sourceforge.net).
La démo fonctionne super mais si je télécharge le JAR et que je l'inclus à mon projet, je n'arrive pas à lui faire repérer mon dossier où se trouvent les fichiers toc.xml ainsi que les fichiers HTML. Je développe avec Eclipse et mon projet se constitue comme suit :
Dossier projet src mon package (view) Ma classe amorçe Eventuellement une autre classe un autre package Une classe Encore une autre classe ... dossier des fichiers d'aide (htmlhelpfiles) toc.xml home.htm style.css ... lib helpgui-1.1.jar
C'est donc directement sur le jar contenu dans mon dissier lib que j'ai fait le lien dans mon projet et en cochant ce jar. En fait la lien vers la librairie semble être effectué correctement puisqu'il ne met pas d'erreurs à ce niveau là.
Mon fichier toc.xml contient :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<toc>
<tocitem text="General">
<tocitem text="Introduction" target="home.htm" home="true"/>
</tocitem>
</toc>
Ma classe amorçe contient ceci :
package view;
import javax.swing.JFrame;
import net.sourceforge.helpgui.gui.MainFrame;
public class HTMLHelpViewer /*extends JFrame*/ {
public static void main(String[] args) {
JFrame helpFrame = new MainFrame("./htmlhelpfiles", "plastic");
File file = new File("./htmlhelpfiles");
if(file.exists() && file.isDirectory()) {
System.out.println("Le chemin est bon");
}
helpFrame.setVisible(true);
}
}
Aucune erreur de compilation et dès que je lance, la fenêtre s'affiche avec tous les boutons... mais pas la TOC. En y regardant de plus près je lis sur la console :
java.lang.IllegalArgumentException: InputStream cannot be null Le chemin est bon
Cette erreur se produit au moment d'instancier un objet MainFrame.
Le fait qu'il dise "Le chemin est bon" prouve bien que le dossier "htmlhelpfiles" existe bien. Donc c'est peut-être moi qui n'ai pas saisi un truc dans les explications fournies sur le site...
Si quelqu'un veut bien essayer de se pencher sur le problème je l'en remercierai.
