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 images dans mon fichier .jar


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut Affichage images dans mon fichier .jar
    Salut à tous,
    je sais que ce type de discussion à déjà été créée, mais mon problème doit être spécifique. J'aimerais que mes images s'affichent quand je lance mon fichier jar.
    Voici comment je charge mes images :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Charge le fichier image
            try{
                // image est de type BufferedImage
                image = ImageIO.read(new File("./" + repertoireImages + "/" + nom + extensionImages));
            }catch (Exception e) {
                System.err.println("Le fichier " + nom + extensionImages + " n'a pas été " + "trouvé dans le répertoire " + repertoireImages);
            }
    Mon problème est que je n'arrive pas à gérer la ressource avec l'URL. Je sais que pour que mes images s'affichent dans mon .jar, il faut que je crée une URL avec le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    URL chemin = getClass().getResource("./" + repertoireImages + "/" + nom + extensionImages);
    Et ensuite, je dois charger l'image avec l'URL mais un objet de type File ne peut pas charger un fichier avec une URL.

    J'espère être clair. Avez-vous des solutions ?
    Merci à tous

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Par défaut
    Bonsoir,
    deja y a de grande ambiguité qui entour la creation de fichier jar pour des projet java. ( Regarde la conf du manifest )
    Tu peux remedier a ce probleme en copiant ta photo sur le dossier system ( par exemple ) de windows et declarer son chemin complet sur tes sources avant de créer ton jar.
    ce code la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Charge le fichier image
            try{
                // image est de type BufferedImage
                image = ImageIO.read(new File("./" + repertoireImages + "/" + nom + extensionImages));
            }catch (Exception e) {
                System.err.println("Le fichier " + nom + extensionImages + " n'a pas été " + "trouvé dans le répertoire " + repertoireImages);
            }
    deviendra
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Charge le fichier image
            try{
                // image est de type BufferedImage
                image = ImageIO.read(new File("C:\\Windows\\system32\\/" + nom + extensionImages));
            }catch (Exception e) {
                System.err.println("Le fichier " + nom + extensionImages + " n'a pas été " + "trouvé dans le répertoire " + repertoireImages);
            }
    Comme ca lors de l execution, ton jar ira cherché c:\Windows\System32\<image>.jpg au lieu de chercher .\<image>.jpg !
    Je te deconseille d inclure des fichiers (a part les .class) dans ton jar , tu vas tjrs galeré !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Je te remercie pour ta réponse, l'ennui, c'est que si je passe mon point jar à quelqu'un pour qu'il teste mon application, en ayant indiqué le chemin C:/ ..., il n'aura pas les images.
    Je pense en effet qu'intégrer les images au projet sont une très bonne idée, comment dois-je procéder pour celà ? Juste les importer ? Et comment je les charge ensuite ?

    Merci encore pour ton aide.

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Quand tu utilises un jar et le getResource, le FileSystem change, c'est à dire que la racine de ton FileSystem est la racine de ton jar. Par exemple si tu as un fichier dans le package truc.machin.bidule le poath pour y accéder par getRessource sera (/truc/machin/bidule). Quand tu travailles à l'intérieur d'un jar il vaut mieux passer par des chemins absolus que relatifs d'ailleurs (tu es sur que le path ne changera pas et que tes ressources seront toujours présentes)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Merci pour ton explication Sinok.
    Peux-tu m'expliquer comment faire exactement pour passer par des chemins absolus ?
    Merci !

    P.S : Ce que je souhaite en fait, c'est de pouvoir passer mon fichier .jar à quelqu'un et seulement ce fichier pour qu'il puisse utiliser l'application sans soucis.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par womannosky Voir le message
    Merci pour ton explication Sinok.
    Peux-tu m'expliquer comment faire exactement pour passer par des chemins absolus ?
    Merci !

    P.S : Ce que je souhaite en fait, c'est de pouvoir passer mon fichier .jar à quelqu'un et seulement ce fichier pour qu'il puisse utiliser l'application sans soucis.
    Bah enlèves le . qui se trouve au début de tes paths.

    Un chemin absolu est de la forme (c'est une convention UNIX)

    /truc/machin/bidule/monImage.png où le premier / représente la racine puis le reste le chemin du fichier complet (cf mon post précédent) dans le référentiel du jar.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 74
    Par défaut
    Si ca peut t'aider, voici le code que j'utilise pour récuperer une image dans un jar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ClassLoader myClassLoader = Thread.currentThread().getContextClassLoader();
    Toolkit tk = Toolkit.getDefaultToolkit();
    Image image = tk.getImage(myClassLoader.getResource(urlImage));
    avec bien sur: urlImage = adresse de ton fichier

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

Discussions similaires

  1. Problème Images dans le fichier '.jar'
    Par akbwalid dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 22/07/2011, 18h52
  2. Comment inclure ma BDD hsql dans mon fichier .jar ?
    Par sider dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 06/02/2011, 22h37
  3. affichage d'image dans un fichier
    Par sky88 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/10/2009, 16h06
  4. Affichage image dans Jar
    Par vegange dans le forum Débuter
    Réponses: 12
    Dernier message: 29/09/2009, 21h03
  5. Probleme d'utilisation d'images dans mon fichier css
    Par lazins dans le forum NetBeans
    Réponses: 4
    Dernier message: 02/10/2008, 20h30

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