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

 Java Discussion :

Affichage image dans Jar


Sujet :

Java

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 47
    Par défaut Affichage image dans Jar
    bonjour,

    avant de poster j'ai fait des recherche mais cela n'a pas abouti donc je poste en esperant avvoir une reponse.

    mon probleme est :

    j'ai creee un simple programme avec une fenetre (avec 3 boutons).

    quand on clique sur un bouton on ouvre une autre fenetre qui affiche un texte et un bouton avec une image en jpg.

    le programme marche bien quand je le teste sur eclipse..mais quand je fais un jar et que je le lance , il n'y a pas d'image

    j'ai essayer en changeant les jpg en gif mais rien

    voici comment je declare mon bouton image ( qui est declarer dans le contructeur de la classe1 )

    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
     
     
    la classe Classe 1 (cette classe(2eme classe) est la classe ou l'on affiche par le contructeur l'image quand on a cliquer sur le bouton de la classe principale (1ere fenetre)
     
    private JButton Boutonimage;
     
    public Classe1 (){ 
      setTitle (" Equipe Lyon ");
      setSize (290, 330) ;
      Boutonimagelyon = new JButton (new ImageIcon("image.jpg"));
      Container contenu = getContentPane() ;
      contenu.setLayout(null) ;
      contenu.setBackground(Color.RED);
      Insets insets=contenu.getInsets();
      Dimension sizeBoutonimagelyon=Boutonimagelyon.getPreferredSize();
    Boutonimagelyon.setBounds(75+insets.left,55+insets.top,15+sizeBoutonimagelyon.width,80+sizeBoutonimagelyon.height);
    contenu.add(Boutonimagelyon);
    j'ai verifié l'image est bien importer dans les sources /scr

    pouvez vous m'aidez ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 47
    Par défaut
    je ne vois pas, à part getRessource(), mais comment l'utiliser.

    car le programme marche bien dans eclipse.

    ou dois je spécifié dans la 1er classe, ou dans la classe ou le boutonimage est declaré. à mon avis cela doit etre dans le contructeur du boutonimage

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ImageIcon(getClass().getResource("/image.jpg"))
    Quand un programme ne sais plus charger ses ressources une fois dans un jar c'est soit que t'as oublié de les mettre dans le jar, soit que tu utilise des file plutot que des ressource. T'es dans le deuxième cas.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    J'ai le même problème et malgré ton aide, je n'y arrive pas.
    Quand je teste mon applet sous eclipse, cela marche parfaitement.
    Par contre sur mon site web, cela ne marche pas.
    URL url = getClass().getResource("/image.jpg")
    url.getFile() // retourne file:/home/r1zib/.icedteaplugin/cache/http/localhost/test.jar!/image.jpg
    C'est bizarre car cela devait commencer par jar:file:/.../test.jar!/image.jpg
    Je ne comprend pas mon erreur.
    Dans mon navigateur, l'image s'affiche bien avec l'adresse jar:file:///...../test.jar!/image.jpg
    Si quelqu'un à une piste pour éclairer ma lanterne ...

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    la valeur retournée par getFile me semble correcte, je vois pas ce que tu lui reproche.

  7. #7
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 47
    Par défaut
    cela marche pour moi

    j'ai remplacer dans ma classe :

    cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Boutonimage= new JButton (new ImageIcon("image.jpg"));

    par celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Boutonimage = new JButton (new ImageIcon(getClass().getResource("/image.jpg")));
    la seule contatation est que quand je teste sur eclipse, que je clique sur le bouton de la 1er fenetre qui ouvre ma classe, cela ne marche pas sous eclipse, mais cela marche dans le fichier jar.

    merci à toi pout on aide.

    pour expliquer mon but :

    je clique sur un bouton qui lance une deuxieme fenetre qui affiche un bouton avec une image. or l'image ne s'afficher pas dans le jar, mais avec la reponse de tchize_ çà marche dans mon jar

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    la valeur retournée par getFile me semble correcte, je vois pas ce que tu lui reproche.
    Je pense que je me suis emméllé les pinceaux avec l'endroit ou il faut mettre les images et j'ai fait des mauvaises interprétations...

    J'ai réalisé des tests et cela marche maintenant, merci tchize.

    Je pense que pour que cela marche sous eclipse et dans un jar, il faut :
    Mettre l'image non pas à la racine du projet Java mais au niveau du package.

    Si on met l'image à la racine du projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource("/image.jpg")
    Sous eclipse, retourne null
    dans le jar, c'est OK

    Si on met l'image au niveau du package :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource("/myPackage/image.jpg")
    Sous eclipse, c'est OK
    dans le jar, c'est OK

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 47
    Par défaut
    Si on met l'image au niveau du package :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource("/myPackage/image.jpg")
    Sous eclipse, c'est OK
    dans le jar, c'est OK

    peut tu expliquer myPackage ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    C'est bien, en répondant à ta question, j'ai trouvé mon erreur.
    Les images doivent être placées dans le répertoire src. J'avais fait l'erreur de la
    mettre dans le répertoire du projet.
    J'avais résolu mon problème en déplaçant mes images dans le répertoire de mon paquetage (src/MonPaquetage/image.png)

    Fait le test, mais je pense que tu as le même problème.

  11. #11
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 47
    Par défaut
    pour ma part les image se trouvent dans le dossier projet et non dans le dossier src/, en faite derriere les bibliotehques. et cela marche bien

    ?? alors que toi dans le dossier src/..

    donc pour que çà marche dans eclipse et le jar, je dois mettre les images dans src/ en spécifiant quel nom de pack ? puisque mon arborescence est la suivante :

    mon projet..
    ...............src/
    ...................mes fichier .java(dans source) logique
    ...............les biblioteques .jar
    ...............les images

    voilà mais pas de mypacketage

    ai je commis une erreur ?

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    met tes images dans src/ sinon elle ne feront pas partie du classpath et donc quand tu lancera dans eclipse, elle ne seront pas visibles. Ca marche dans ton jar, probablement parce que tu a précisé dans la config de ton jar d'inclure le folder image.

  13. #13
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 47
    Par défaut
    etrange car avec cette arboresence cela marche dans eclipse et meme dans le jar ?? comment cela se fait t-il ?

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

Discussions similaires

  1. Affichage images dans mon fichier .jar
    Par womannosky dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 11/07/2008, 10h47
  2. Affichage image dans un état
    Par antoine46 dans le forum IHM
    Réponses: 1
    Dernier message: 24/08/2006, 15h58
  3. [VB]Problème affichage image dans IE6
    Par flogreg dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/02/2006, 19h41
  4. Problème affichage image dans IE6
    Par flogreg dans le forum IE
    Réponses: 6
    Dernier message: 13/02/2006, 15h29
  5. [VB6]Affichage images dans un datareport
    Par papadethiediouf dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/01/2006, 20h53

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