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

AWT/Swing Java Discussion :

Affichage des images et URL get Ressource


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut Affichage des images et URL get Ressource
    Bonjour,

    pour afficher des images mon code est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try{
    	URL urlClass=Const.class.getResource("Const.class");
    	imgURL = new java.net.URL(urlClass, pathImg + nomImg);
    	bufferedImage  = ImageIO.read(imgURL);    
    }
    catch(Exception e){
    	e.printStackTrace();
    }
    j
    Lorsque j'execute mon application dans eclipse, les images apparaissent ok.
    Mais lorsque je lance mon application depuis un Runnable JAR file que je crée en utilisant la fonction File/Export d'eclipse, l'application marche ok, mais les images n'apparaissent pas.

    Pourtant lorsque je regarde le contenu de mon jar file, les images y sont presentes..
    Lorsque je rajoute à la main mes images dans le repertoire qui contient mon exe.jar, les images apparaissent alors


    Mon arboresence est la suivante :

    Mon_projet
    src (le fichier contenant le main est ici
    images
    monprojet
    controleur
    modele
    vue

    une idee ?

    j'ai aussi essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imgURL = new java.net.URL("jar:"+Const.PATH_IMAGE+nomImg);
    mzis sans succes...
    merci d'avance

  2. #2
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !

    il faut regarder ce qu'il y a dans imgURL...
    apparemment l'adresse en question ne contient pas l'image voulue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     JOptionPane.showMessageDialog(null, imgURL);
    par exemple

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Il faudrait connaitres les chemins que tu utilises, et vérifier l'emplacement des images dans le jar...

    Mais pourquoi s'embêter autant, d'après ton arborescence je ferais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    URL url=Const.class.getResource("/images/nomImg.jpg");
    BufferedImage bufferedImage  = ImageIO.read(img);
    a++

    PS : Le catch avec uniquement un printStackTrace() c'est pas terrible

  4. #4
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut
    merci de votre aide, je n'y arrive toujours pas

    Lorsque j'execute mon code, le retour de
    JOptionPane.showMessageDialog(null, imgURL);
    est

    DEPUIS ECLIPSE:
    d:/monprojet/PotDev/PotDev/bin/images/monimage.png
    les images apparaissent, mais j'ai du a la main les rajouter dans le repertoire ci-dessus.

    DEPUIS LE JAR
    :rsrc:../images/monimage.png
    les images n'apparaissent pas

    Pour créer le jar file, je fais
    File/Export/Java Runnable JAR file/next/Library handling : Package required libraries into generated JAR

    Ensuite dans eclipse, mon répertoire image n'est pas inclus dans mon path.
    je dois l'inclure ?

    j'ai joint en image mon arborescence sur windows, sur eclipse, et dans le jar file.

    ensuite,
    Mais pourquoi s'embêter autant, d'après ton arborescence je ferais ceci :
    Code :
    URL url=Const.class.getResource("/images/nomImg.jpg");
    BufferedImage bufferedImage = ImageIO.read(img);
    a++;
    j'ai essayé, ca ne marche pas non plus, je ne comprend pas le "/" devant images ???

    mon code est actuellement situé dans une classe du repertoire vue
    du coup, qu'est ce que Const.class fait la ??????? est-ce mon erreur ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BufferedImage bufferedImage = null;
     
    try{
    	URL urlClass=Const.class.getResource("Const.class");
    	URL imgURL = new java.net.URL(urlClass, ""../images/""+nomImg);
    	JOptionPane.showMessageDialog(null, imgURL);
    	bufferedImage  = ImageIO.read(imgURL);
    }
    catch(Exception e){
    	e.printStackTrace();
    }
    merci de votre aide
    Images attachées Images attachées  

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hbar31 Voir le message
    j'ai essayé, ca ne marche pas non plus, je ne comprend pas le "/" devant images ???
    Le / indique que l'on recherche un chemin absolu dans le classpath (sans cela c'est un chemin relatif par rapport à la classe).

    Cela ne marche jamais ou seulement une fois dans le jar ?
    As-tu vérifier le nom du fichier ?


    a++

  6. #6
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut
    oui, pardon j'avais compris le / chemin absolu. Ce que je ne comprenais pas c’était d’écrire ca, car je voudrais que mes images soient contenues dans mon jar file et non pas dans un répertoire de mon ordi. L’idée est de créer un jar file qui se suffise à lui tout seul.

    Le nom de l'image est correct. Elles s'affichent toutes correctement lorsque j’exécute mon programme depuis éclipse. C'est uniquement lorsque j’exécute mon jar, que cela ne marche pas.

    merci

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 12/06/2007, 17h02
  2. Réponses: 3
    Dernier message: 14/04/2006, 09h32
  3. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  4. Mauvais affichage des images et message d'erreur
    Par SLAM JACK dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2006, 18h11
  5. Priorité d'affichage des image de fond.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/09/2005, 18h02

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