IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[JavaHelp]Ouvrir mon .jar ?


Sujet :

API standards et tierces Java

  1. #1
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut [JavaHelp]Ouvrir mon .jar ?
    Bonjour

    J'ai crée une aide JavaHelp avec JHelpBuilder, mais je ne sais pas comment l'ouvrir ensuite dans mon programme. J'ai lu le tutoriel de cyberzoïde, mais il ouvre un .hs, alors que j'aimerais pouvoir ouvrir mon jar d'aide, est-ce possible et si oui, comment ? Si ce n'est pas possible ainsi, comment faire ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je me permets de upper ce topic, vu que quand je l'ai posté, y a avait pas grand monde sur le forum...

  3. #3
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    jhelpbuilder je connais pas.
    mais si tu veut utiliser javahelp il te faut un helpset (un fichier hs si tu veut)

    il dois certainement etre dans ton fichier jar alors et dans ce cas la tu utilise le protocole jar:// pour aller ouvrir ton helpset dedans.

    jar:<url>!/{entry}

    aussi, javahelp possede un jhviewer qui te permet de previsualiser tes aide. il ouvre aussi les aide dans les jar. ;-)

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par bbclone
    jhelpbuilder je connais pas.
    mais si tu veut utiliser javahelp il te faut un helpset (un fichier hs si tu veut)

    il dois certainement etre dans ton fichier jar alors et dans ce cas la tu utilise le protocole jar:// pour aller ouvrir ton helpset dedans.

    jar:<url>!/{entry}

    aussi, javahelp possede un jhviewer qui te permet de previsualiser tes aide. il ouvre aussi les aide dans les jar. ;-)
    JHelpBuilder, c'est un éditeur d'aide javahelp très pratique.

    Donc en faite, il faudrait que je donne un chemin comme ca : "jar://CheminDujar/Chemin.hs" quand j'ouvre mon sample.hs ?

    Je vais essayer ca, merci

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je suis pas sur d'avoir bien compris la syntaxe pour ce protocole jar:

    Si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "jar:file:CheminDuJar!/{Sample.hs}"
    Il me met l'erreur :

    javax.help.HelpSetException: Could not parse
    Got an IOException (JAR entry {Sample.hs} not found in C:\Documents and Settings\Baptiste\Bureau\JTheque\Help\Help.jar)
    Parsing failed for null
    at javax.help.HelpSet.<init>(HelpSet.java:146)
    at jTheque.Interface.buildMenu(Interface.java:655)
    at jTheque.Interface.build(Interface.java:159)
    at jTheque.Interface.<init>(Interface.java:148)
    at jTheque.GuiChoiceResolution.showInterface(GuiChoiceResolution.java:148)
    at jTheque.GuiChoiceResolution.access$0(GuiChoiceResolution.java:122)
    at jTheque.GuiChoiceResolution$2.mouseClicked(GuiChoiceResolution.java:110)
    at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Est ce que mon url est juste, parce que là mon fichier jar contient bien Sample.hs à l'intérieur si je l'ouvre avec un décompresseur...

  6. #6
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    un editeur HTML + jhelpdev = le meilleur pour faire une aide javahelp.
    (ou aurigadoc si tu veux plusieurs sorties - javahelp, oh4j, winhelp etc.)

    pour ton probleme j'ai pas vraiment l'envie de regarder ca maintenant (l'url dans le jar m'a lair bonne)
    je viens de dl le premier episode de la saison 3 de 4400. je vais aller me mettre dans mon lit et le regarder sur mon ecran.


    ce que tu peux commencer par faire c'est extraire ton jar
    et essayer de voir si en selectionant ton hs avec le hsviewer ca marche.

  7. #7
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par bbclone
    un editeur HTML + jhelpdev = le meilleur pour faire une aide javahelp.
    (ou aurigadoc si tu veux plusieurs sorties - javahelp, oh4j, winhelp etc.)

    pour ton probleme j'ai pas vraiment l'envie de regarder ca maintenant (l'url dans le jar m'a lair bonne)
    je viens de dl le premier episode de la saison 3 de 4400. je vais aller me mettre dans mon lit et le regarder sur mon ecran.


    ce que tu peux commencer par faire c'est extraire ton jar
    et essayer de voir si en selectionant ton hs avec le hsviewer ca marche.
    Mon jar marche bien, je l'ai testé avec JHelpBuild et avec le hsViewer et dans les 2 cas, ca marche parfaitement bien

  8. #8
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    ou es le probleme alors?
    si ton jar marche bien et que tu peux le voir avec le hsviewer.
    c'est depuis une application que tu arrive pas a l'ouvrir?
    je te fait un exemple demain si tu a pas trouver d'ici la;-)

  9. #9
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par bbclone
    ou es le probleme alors?
    si ton jar marche bien et que tu peux le voir avec le hsviewer.
    c'est depuis une application que tu arrive pas a l'ouvrir?
    je te fait un exemple demain si tu a pas trouver d'ici la;-)
    Cet exact, le problème vient bel et bien du lancement depuis mon application.

    Ce serait vachement sympa de faire un exemple parce que là je commence à pêter un câble

    On peut lancer hsviewer depuis son appli ?

  10. #10
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    > On peut lancer hsviewer depuis son appli ?

    LOL
    ou est l'interet?
    quand tu lance javahelp depuis ton application tu va avoir le meme resultat qu'avec l'hsviewer.

    hsviewer est une simple classe (application) que tu lui passe un helpset et qui te l'affiche.
    rien de plus! tout le reste c'est jh.

  11. #11
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par bbclone
    > On peut lancer hsviewer depuis son appli ?

    LOL
    ou est l'interet?
    quand tu lance javahelp depuis ton application tu va avoir le meme resultat qu'avec l'hsviewer.

    hsviewer est une simple classe (application) que tu lui passe un helpset et qui te l'affiche.
    rien de plus! tout le reste c'est jh.
    Oui, je sais que je vais avoir le meme résultat, qu'avec hsviewer , mais est-ce qu'il est possible d'employer cette classe directement dans le programme de manière simple parce que là la manière que j'ai de faire, n'est pas des plus simples, du moins je trouve.

  12. #12
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    j'en revien a ton probleme.

    j'ai pris dans les exemples le animals.jar et ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    import java.awt.FlowLayout;
    import java.awt.HeadlessException;
    import java.net.URL;
     
    import javax.help.CSH;
    import javax.help.HelpBroker;
    import javax.help.HelpSet;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.SwingUtilities;
     
    /**
     * Created by IntelliJ IDEA.
     * User: bebe
     * Date: 07-Jun-2006
     * Time: 09:24:01
     * To change this template use File | Settings | File Templates.
     */
    public class MyFrame extends JFrame {
     
        private JButton helpButton = null;
     
        private HelpSet myHelpSet = null;
        private HelpBroker myHelpBroker = null;
     
        public MyFrame() throws HeadlessException {
     
            loadMyHelpSet();
     
            helpButton = new JButton("Launch Help");
            helpButton.addActionListener(new CSH.DisplayHelpFromSource(myHelpBroker));
     
            setLayout(new FlowLayout());
            add(helpButton);
     
            pack();
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
     
        public static void main(String[] args) {
            Runnable runnable = new Runnable() {
                public void run() {
                    MyFrame myFrame = new MyFrame();
                    myFrame.setVisible(true);
                }
            };
     
            SwingUtilities.invokeLater(runnable);
        }
     
        public void loadMyHelpSet() {
            try {
                URL url = HelpSet.findHelpSet(null, "Animals.hs");
                myHelpSet = new HelpSet(null, url);
            } catch (Exception e) {
                System.out.println("probs");
                return;
            } catch (ExceptionInInitializerError ex) {
                System.err.println("initialization error:");
                ex.getException().printStackTrace();
            }
            myHelpBroker = myHelpSet.createHelpBroker();
        }
    }

    tu met ton fichier jar qui contient le helpset dans ton classpath et puis je vois pas de probleme en fait. tu l'ouvre normalement.

  13. #13
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    j'ai essayer d'attacher le projet mais ca marche pas

    > JavahelpTest.zip:
    Votre fichier de 641,6 Ko octets dépasse la limite du forum de 512,0 Ko pour ce type de fichier.

  14. #14
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    C'est aussi simple que ca

    J'avais meme pas pensé qu'il allait rechercher automatiquement dans les jars que l'on met dans le Class-path

    Quelle honte

    Je teste ca ce soir et je te redis.

    Desolé de vous avoir embeté avec une question pareille...

    P.S. Pas grave, pour le projet, je devrais me débrouiller avec que tu m'as donné

  15. #15
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    LOL :-)
    je peut demander comment tu faisais?

    au debut je pensais que tu voulais faire un truc comme le hsviewer et dans ce cas tu doit utiliser le protocole jar parce que le jar que tu selectionne n'est pas dans le classpath.
    mais si c'est dans une application alors c'est surement dans le classpath alors faut pas se casser la tete :-)

  16. #16
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par bbclone
    LOL :-)
    je peut demander comment tu faisais?

    au debut je pensais que tu voulais faire un truc comme le hsviewer et dans ce cas tu doit utiliser le protocole jar parce que le jar que tu selectionne n'est pas dans le classpath.
    mais si c'est dans une application alors c'est surement dans le classpath alors faut pas se casser la tete :-)
    Au niveau du code, c'est à peu près la meme chose, mais mon problème c'est que j'avais pas compris comment accéder au .hs dans le .jar, il ne m'est meme pas venu à l'idée que la méthode findHelpSet allait chercher directement à l'intérieur d'un jar contenu dans le classpath, donc je pensais qu'il fallait que je fasse l'url d'accès à mon fichier .hs moi-même, alors qu'en fait la méthode findHelpSet est là pour nous simplifier la vie...

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 423
    Points : 188
    Points
    188
    Par défaut
    J'ai aussi essayé le code du tuto de Cyberzoïde mais ça ne marche pas.
    voici le message que j'obtiens :

    HelpSet: Could not parse
    Got an IOException (null)
    Parsing failed for null
    HelpSet: helpset.hs non trouve
    Exception in thread "main" java.lang.NullPointerException
    at test.HelpMenu.<init>(HelpMenu.java:38)
    at test.Test.main(Test.java:14)
    pourtant mon jar est bien dans mon path.

    EDIT : c'est bon.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Jar] Ouvrir un File depuis mon jar
    Par Ohmygosh dans le forum Général Java
    Réponses: 3
    Dernier message: 24/09/2012, 15h37
  2. [NetBeans] Inclure des package externes dans mon jar
    Par JavaEli dans le forum NetBeans
    Réponses: 4
    Dernier message: 13/03/2011, 20h34
  3. ouvrir mon application hors environnement access
    Par azde7015 dans le forum Access
    Réponses: 1
    Dernier message: 15/02/2006, 08h58
  4. Ouvrir mon fichier d'aide avec F1
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/09/2005, 08h00
  5. [JAR] Inclure les external jar ds mon jar exec...
    Par doudine dans le forum Général Java
    Réponses: 4
    Dernier message: 21/01/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo