Ajouter des images à pot

Je veux définir l'icône de ma JFrame. Je ne les suivants:

Image icon = Toolkit.getDefaultToolkit().getImage("src/images/icon.jpg");
this.setIconImage(icon);

Il fonctionne très bien lorsque j'exécute ce code à partir de netbeans, mais lorsque j'essaie d'exécuter ce code à partir du fichier jar, les images ne sont pas affichées dans ma JFrame. J'ai essayé de charger des images en tant que ressources:

this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/src/images/icon.jpg")));

mais lorsque j'exécute ce code, il échoue avec NullPointerException

 Uncaught error fetching image:
java.lang.NullPointerException
        at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
        at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
        at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
        at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
        at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)

Comment puis-je faire ce travail?

edit:
Merci à tous,
le problème a été résolu par la spécification de l'image comme

Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("images/icon.JPG"))

Quant à elle semble plutôt bizarre, et serait mieux si c'était comme

this.setIconImage(new ImageIcon(pathToIcon).getImage());
  • Quelle est la structure de votre fichier JAR c'est à dire où exactement dans le fichier JAR est l'image placée?
InformationsquelleAutor maks | 2011-03-30