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

Langage Java Discussion :

Un .Jar avec images


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut Un .Jar avec images
    Bonjour,

    Je suis étudiant et je tente de créer un fichier JAR exécutable pour que mon prof exécute mon projet avec plus de facilité.

    Le jar plantant dès le démarrage (pas d'image, seulement la couleur de fond) alors que la création du jar s'est faite sans problème.

    En effet pour l'instant toutes les images et sons sont accédés comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Toolkit.getDefaultToolkit().getImage("./Cartes Joueur/"+carte+".gif"));
    J'ai donc, comme demandé dans le tutoriel, ajouté un dossier dans le projet, soit :
    "src/pandemie/Cartes Joueur" contenant mes cartes. Et lié ce dossier en tant que folder source.

    Voilà la nouvelle méthode pour appeler les images:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Fen_pop.class.getResource("Cartes Joueur/"+carte+".gif"));
    Fen_pop se trouve à cet endroit : Pandemie9\src\pandemie\Fen_pop.java
    Pourtant, je reçois toujours l'erreur java.lang.NullPointerException...
    Pourquoi ?

    J'ai rafraichi le projet et tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Fen_pop.class.getResource("/Cartes Joueur/"+carte+".gif"));
    Pas de réussite...

    Quelqu'un saurait-il m'expliquer ce qui ne va pas ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Mais... Elle est où la racine ? C'est pas le dossier src ?

    Dans ce cas-là, le chemin devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "/pandemie/Cartes Joueur/" + carte + ".gif";
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Mais... Elle est où la racine ? C'est pas le dossier src ?

    Dans ce cas-là, le chemin devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "/pandemie/Cartes Joueur/" + carte + ".gif";
    Voici le nouveau code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Fen_pop.class.getResource("/pandemie/Cartes Joueur/"+carte+".gif"));
    Mais le résultat est le meme!
    Comment savoir où est ma racine? Mais normalement ca devrait en effet etre src.

    Si j'ai bien compris mettre un / au départ fais appel à la racine et sans je devrais partir de la location de ma classe (ici Fen_pop). Dans le dossier que contient la classe Fen_pop il y a bien le dossier "Cartes Joueur" qui contient les cartes. Ce code ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Fen_pop.class.getResource("Cartes Joueur/"+carte+".gif"));
    Devrait donc fonctionner.(Et ce n'est pas le cas... -_-)

    edit:
    Intéressant à savoir, le bin ne contient pas le dossier Cartes Joueur mais toutes mes cartes directement dans le dossier bin.

  4. #4
    Membre confirmé Avatar de maya
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 140
    Par défaut
    Bonjour ,

    Place le dossier "Cartes Joueur " dans le dossier src ( au même niveau que tes paquages ) utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(getClass().getResource("Cartes Joueur/+"carte+".gif"))

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    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 482
    Par défaut
    Préférez ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(getClass().getResource("/Cartes Joueur/+"carte+".gif"))
    pour forcer la racine et ne pas etre dépendant du package de la classe


    Aussi, il serait utile pour débloquer votre problème qu'on aie le listing de ce qui est réellement contenu dans le jar: Pour ça, donnez nous la sortie de la commande


  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    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 482
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Aussi, il serait utile pour débloquer votre problème qu'on aie le listing de ce qui est réellement contenu dans le jar: Pour ça, donnez nous la sortie de la commande


  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut
    Merci pour votre aide,
    j'ai ajouté le dossier "Cartes Joueur " dans le dossier src, pas de changement.
    Je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Fen_pop.class.getResource("Cartes Joueur/"+carte+".gif"));
    car avec le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(getclass().getResource("Cartes Joueur/"+carte+".gif"));
    Ca me donne:
    The method getclass() is undefined for the type Carte
    Surement car je fais getclass() à partir d'une méthode statique.

  8. #8
    Membre confirmé Avatar de maya
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 140
    Par défaut
    getClass

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Par défaut
    Nous revenons donc au problème ci dessus! ^^
    En effet j'avais fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Fen_pop.class.getResource("Cartes Joueur/"+carte+".gif"));

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon image = new ImageIcon(Carte.class.getResource("Cartes Joueur/"+carte+".gif"));
    Idem puisqu'ils sont dans le meme package.
    Ce qui donne la meme chose:
    nullPointerExeption sur la ligne

Discussions similaires

  1. JRadioButton - Icone dans le label, mais avec image dans JAR
    Par Caalador dans le forum Composants
    Réponses: 0
    Dernier message: 27/01/2010, 13h45
  2. Générer exécutable .jar Eclipse avec images
    Par jujusous3 dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 12/12/2009, 13h51
  3. Problème exportation JAR avec images
    Par oliwan dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 22/06/2009, 20h08
  4. [JLabel] texte HTML avec image dans un JAR
    Par matt11 dans le forum Composants
    Réponses: 5
    Dernier message: 18/08/2008, 13h53
  5. Réponses: 6
    Dernier message: 29/07/2005, 11h12

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