didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
19 juil. 2007 à 16:23
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
20 juil. 2007 à 21:11
Bonjour à tous.
J'utilise des images pour rendre plus simple la signification de certains bouton et autre.
Mes images sont au format PNG (portable network graphics) et se trouvent toutes dans un même répertoire se trouvant dans le JAR.
Pour y accéder, j'utilise la ligne suivante: "Image img = Toolkit.getDefaultToolkit().getImage(getClass().getResource("info.png"));".
Il se trouve que pour certaines image cela ne fonctionne pas: sur un panel etant sancé en avoir une, il n'y en à pas.
J'obtiens l'exception suivante (pour les autre je n'obtiens rien) :
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:97)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:107)
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)
En cherchant sur internet, j'ai trouvé d'autre méthodes (mais qui ne donnent rien de plus que celle ci-dessus).
merci.
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 19 juil. 2007 à 18:03
bonjour.
162077 theguitou >> j'ai essayé ce que tu m'as proposé de faire et j'obtiens une nouvelle exception:
java.lang.NullPointerException
at javax.swing.ImageIcon.(ImageIcon.java:138)
at OptionAvertissement.construireInterface(OptionAvertissement.java:72)
at OptionAvertissement.(OptionAvertissement.java:44)
at LanceurOptionsAutre.(LanceurOptionsAutre.java:16)
at Start.main(Start.java:8)
j'ai essayé les deux (celui qui est en commentaire et cemlui qui ne l'est pas).
ImageIcon ii = new ImageIcon(/*ClassLoader.getSystemResource*/getClass().getResource("info.png"));
Image img = ii.getImage();
si tu sais pourquoi, je suis prenneur de toutes solutions.
GodConan>> c'est également sur le site que j'ai trouver une partie de ces solutions. j'vais voir ce que ca donne avec les ressourcesbundle.
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 19 juil. 2007 à 19:13
Bonjour.
j'ai, au cas ou, vérifié que l'image soit bien présent et, effectivement, elle y est.
apres un nouveau changement de mon code, j'ai obtenu une nouvelle exception:
java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
at JIP.(JIP.java:22)
at JIP.(JIP.java:30)
at JIP.(JIP.java:38)
at OptionAvertissement.construireInterface(OptionAvertissement.java:80)
at OptionAvertissement.(OptionAvertissement.java:46)
at LanceurOptionsAutre.(LanceurOptionsAutre.java:16)
at Start.main(Start.java:8)
j'ai l'impression que le programme ne trouve pas cette image.
Comment est ce que je peux faire pour qu'elle soit reconnue ?
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 20 juil. 2007 à 18:04
Bonjour.
Comme toutes mes class utilisent un même fichier, je n'ai as pu les séparées dans différents répertoire. Donc elles sont toutes à la racine du JAR (tous les fichiers présent dans le JAR son à sa racine).
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 20 juil. 2007 à 21:11
Salut,
mouzart > dsl, mais je suis pas opé avec ce que tu dis.... quand tu utilises le ClassLoader tu te moques de l'emplacement du jar... vu que tu commences à la racine de l'archive.....
didoux95 > Lis tes MP
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."