Java : Récupérer des GIF stockés dans un JAR

mach3 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
mach3 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -
Salut à tous et à toutes...

J'ai un petit problème pour récupérer des fichiers GIF à partir d'un JAR (en Java, bien sûr...).
Pour résumer la situation, j'ai un jar qui s'appelle code.jar dans lequel j'ai plusieurs classes (dont une qui affiche des images). J'en ai un autre, pictures.jar, dans lequel plusieurs images au format gif sont stockées.
Depuis hier soir, à l'exécution, ma classe contenue dans code.jar n'arrive pas à trouver les fameuses images...
Que dois-je faire ?

Voilà deux bouts de code qui n'ont pas marché...

Image decor = java.awt.Toolkit.getDefaultToolkit().getImage("decor.gif");

Image decor = java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("decor.gif"));

Petite précision : Les jar sont stockés dans le même répertoire. Ces deux jar apparaissent dans mon classpath. Et il n'y a aucune arborescence à l'intérieur de mes jar...

Voilà... Merci d'avance !

Mach3
A voir également:

4 réponses

mach3 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut à tous !

Ca y est, j'ai trouvé... Bon, je sais ce que vous allez me dire... Franchement je suis con, mais bon, on ne se refait pas. Car, si ça plantait, ce n'est pas à cause de mon getResource( ), où que sais-je encore relatif à Java... Non, rien de tout ça !
En fait, c'est une question de casse. Windows n'est absolument pas sensible à la casse. Du coup, si j'ai mes gifs dans un répertoire normal, lorsque mon prog essaye d'accéder à ces gifs, il y arrive même si la casse est différente entre le nom du fichier écrit dans mon prog, et le nom réel de mes fichiers... Et ce n'est pas le cas lorsque mes gifs sont dans un jar... Là, la casse doit être respectée...

Ouf, me voilà rassuré, mon prog marche...

Allez, a+ tout le monde, et merci Stéphane pour ton aide...

Mach3
1
stephane
 
salut

essai ca :
Image decor = this.getToolkit().getImage("nom_de_la_classe".class.getResource("decor.gif"));
0
mach3 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut, et merci de me répondre :-)

De quelle classe s'agit-il lorsque tu écris "nom_de_la_classe" ? Celle dans laquelle j'écris ce code ? Doit-elle implémenter une interface ou un truc dans le genre ?

A+

Mach3
0
Stéphane
 
Salut,
"nom_de_la_classe" = classe contenant la fonction main.
ex : le nom de ma classe contenant le main s'appelle "plateau"

Image img = this.getToolkit().getImage(plateau.class.getResource("DESNOIR6.gif"))
0
mach3 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   4
 
Ok, merci beaucoup... J'essayerai dès ce soir. Je te tiens au courant...
0
mach3 Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut

Désolé de ne pas avoir répondu plus tot... Bon, j'ai essayé ta méthode, mais ça marche pas des masses... En fait, il trouve mes gifs s'ils ne sont pas dans un jar... Du coup, c'est peut-être ma façon de "jarrer" qui n'est pas bonne... Mais je vois pas ce que je pourrais faire de plus...

a+

Mach3
0