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

avec Java Discussion :

imageicon nullpointerexception .jar


Sujet :

avec Java

  1. #1
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut imageicon nullpointerexception .jar
    bjr,
    à l'exécution du mon .jar, j'ai une erreur de type nullpointerexception.
    j'utilise des images
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private URL imgAjouterURL = VueBoutons.class.getResource("icones/ajouterListe.png");
    JButton ajouter = new JButton(new ImageIcon(imgAjouterURL));
    pouvez vous m'aider ?
    est ce qu'il faut utiliser la méthode getResourceAsStream() ??
    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                BufferedImage img = ImageIO.read(Test.class.getResourceAsStream("monIMG.png"));
                ImageIcon icon = new ImageIcon(img);
                JButton ajouter = new JButton(icon);
    il faut faire un truc comme ça, de mémoire.

  3. #3
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    je fais ce que tu m'as dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    		try{
    		imgAjouter = ImageIO.read(VueBoutons.class.getResourceAsStream("icones/ajouterListe.png"));
    		imgEnlever = ImageIO.read(VueBoutons.class.getResourceAsStream("icones/enleverListe.png"));
    		imgInstaller = ImageIO.read(VueBoutons.class.getResourceAsStream("icones/installer.png"));
    		}
    		catch(IOException e){
    			JOptionPane.showMessageDialog(null,e.getMessage(),
    					"Alerte",JOptionPane.ERROR_MESSAGE) ;
    		}
    		ajouter = new JButton(new ImageIcon(imgAjouter));
    		enlever = new JButton(new ImageIcon(imgEnlever));
    		installer = new JButton(new ImageIcon(imgInstaller));
    erreur à l'éxecution du jar IllegaleArgumentException

  4. #4
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    j'ai rajouté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    catch(IllegalArguementException e)
    à l'exécution du jar j'obtiens input==null

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VueBoutons.class.getResource("icones/ajouterListe.png")
    Les images sont chargée dans le dossier icones qui est RELATIF au dossier où se trouve VueBoutons.class. Ainsi, si ta classe est dans le package com.monentreprise.monprojet.gui, l'image sera chargée depuis le classpath à l'adresse

    /com/monentreprise/monprojet/gui/icones/ajouterListe.png.

    C'est bien le cas? Si oui, alors soit les icones n'ont pas été rajoutée à ton classpath par ton processus de build/exécution, soit t'as une faute de frappe / faute de majusucles.


    Sinon si icones est à la racine de ton classpath plutot que dans le package, il faut rajouter un "/" dans le chemin:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VueBoutons.class.getResource("/icones/ajouterListe.png")

  6. #6
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\workspace\InstallationLogiciels\bin\installationLogiciels\icones
    C:\workspace\InstallationLogiciels\bin\installationLogiciels\.class
    je n'ai pas d'erreur à l'exécution sous eclispe, c'est au lancement du jar qu'il y a un problème
    installationLoigiciels est mon package

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ton .java se trouve ou?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    sur quelle ligne est levé IllegalArguementException ?

    car la je ne vois pas.

    et le message d'erreur en complet aussi si c'est possible

    merci.

    @tchize_ : pourquoi une IllegalArguementException te fait penser à une mauvaise localisation des images ? une NullPointerException m'aurais fait pensé a ceci.

  9. #9
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    j'avais un problème d'illegalArguementException quand j'utilisais la méthode getResourceAsStream
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imgAjouter = ImageIO.read(VueBoutons.class.getResourceAsStream("icones/ajouterListe.png"));
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	private URL imgAjouterURL = VueBoutons.class.getResource("icones/ajouterListe.png");
    j'ai une erreur de nullpointerexception avec l'exécution du jar. quand j'éxécute mes classes depuis la console je n ai pas d'erreur dans les 2 cas

  10. #10
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    avec la methode getResourceAsStream

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Exception in thread "main" java.lang.IllegalArgumentException: input == null!
            at javax.imageio.ImageIO.read(Unknown Source)
            at installationLogiciels.VueBoutons.<init>(VueBoutons.java:47)
            at installationLogiciels.Lanceur.<init>(Lanceur.java:19)
            at installationLogiciels.Lanceur.main(Lanceur.java:34)

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si t'as le problème qu'avec le jar (ça aurait été bien de le mentionner au départ) c'est que les icones ne sont pas présentes dans le jar.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    ok au temps pour moi je n'utilise de préférence getResourceAsStream()
    à la place de getResource() et j'ai lu ton message trop vite

    donc le déduction de tchize_ est justifier car après relecture j'en arrive a la même déduction.

  13. #13
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    les icônes sont biens dans le jar.
    que me reste t il à faire ? j'ajoute bien le dossier icônes lors de la création du jar sous eclipse

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ou dans le jar?

  15. #15
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.jar\installationLogiciels\icones
    le dossier est au même niveau que mes .class

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    quelle est la sortie de


  17. #17
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    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
     
    META-INF/MANIFEST.MF
    installationLogiciels/AdaptateurVueTable.class
    installationLogiciels/Lanceur.class
    installationLogiciels/Modele.class
    installationLogiciels/VueBoutons$1.class
    installationLogiciels/VueBoutons$2.class
    installationLogiciels/VueBoutons$Actions$FileToLoad.class
    installationLogiciels/VueBoutons$Actions.class
    installationLogiciels/VueBoutons$Charger.class
    installationLogiciels/VueBoutons.class
    installationLogiciels/VueTable$ControleurTableResultat.class
    installationLogiciels/VueTable.class
    installationLogiciels/icones/Thumbs.db
    installationLogiciels/icones/ajouterListe.png
    installationLogiciels/icones/enleverliste.png
    installationLogiciels/icones/installer.png
    installationLogiciels/liste_logiciels.txt

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    erreur de majuscule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imgEnlever = ImageIO.read(VueBoutons.class.getResourceAsStream("icones/enleverListe.png"));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    installationLogiciels/icones/enleverliste.png
    comme tu mets tous le chargement dans un seul try / catch, tu ne vois que celui qui pose problème

  19. #19
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    merci,
    ca faisait 2 jours que j'étais bloqué

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

Discussions similaires

  1. NullPointerException dans le jar
    Par galaxy_s2 dans le forum Débuter
    Réponses: 5
    Dernier message: 20/01/2012, 11h11
  2. impossible d'afficher mes ImageIcons dans mon .jar
    Par yoann34 dans le forum Composants
    Réponses: 3
    Dernier message: 30/07/2009, 08h09
  3. chargement image dans un JAR retournant des NullPointerException
    Par Balbuzard dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 30/11/2008, 14h00
  4. ImageIcon + jar
    Par mathieumadrid dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/06/2007, 13h43
  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