Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

images dans jar

3 réponses
Avatar
Wamli
Je désespère, je n'arrive pas à récupérer des images stockées dans un jar...

j'ai un projet avec cette structure :

project_root
+ classes
| + org
| | + ....
+ images
| + play.png
| | .....
+ div

quand je le mets dans un jar, j'obtiens cela (c'est désiré)

Fichier jar
+ org
| + ...
+ images
| + play.png
+ div

Tout fonctionne bien, je peux ouvrir mon projet en double cliquant sur le
fichier jar, mais... IMPOSSIBLE de récupérer ces images...

J'ai une classe dédiée au chargement des images, c'est la classe
org.myd.ToolBox

dedans j'ai une méthode static qui fournit des ImageIcon :

public static ImageIcon getIcon(String path) {
URL url = ToolBox.class.getResource(path);
ImageIcon ii = new ImageIcon(url);
}

J'ai tout essayé. mettre les images dans le répertoire des classes, ne pas
le mettre là, changer de classe pour appeler le "getRecource".... rien

Alors à l'aide merci !

3 réponses

Avatar
alexandre cartapanis
Je désespère, je n'arrive pas à récupérer des images stocké es dans un jar...

j'ai un projet avec cette structure :

project_root
+ classes
| + org
| | + ....
+ images
| + play.png
| | .....
+ div

quand je le mets dans un jar, j'obtiens cela (c'est désiré)

Fichier jar
+ org
| + ...
+ images
| + play.png
+ div

Tout fonctionne bien, je peux ouvrir mon projet en double cliquant sur le
fichier jar, mais... IMPOSSIBLE de récupérer ces images...

J'ai une classe dédiée au chargement des images, c'est la classe
org.myd.ToolBox

dedans j'ai une méthode static qui fournit des ImageIcon :

public static ImageIcon getIcon(String path) {
URL url = ToolBox.class.getResource(path);
ImageIcon ii = new ImageIcon(url);
}

J'ai tout essayé. mettre les images dans le répertoire des classes, ne pas
le mettre là, changer de classe pour appeler le "getRecource".... rie n

Alors à l'aide merci !




Tu peux nous fournir un exemple? notamment l'URL, par exemple en faisant
un System.out.println(ToolBox.class.getResource(path));


--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email

Avatar
Wamli
le getResource(path) ne retourne rien...

plus ou moins, j'ai essayé ca

1) URL url = ToolBox.class.getResource("play.png");
en mettant l'image dans org/myd/
car je me suis dit : le classLoader regarde là où est la classe... mais
rien
2) URL url = ToolBox.class.getResource("images/play.png");
en laissant l'image dans images
car je me suis dit "peut-être qu'il commence à la racine du fichier
jar... mais rien
3) URL url = ToolBox.class.getResource("org/myd/play.png");
en mettant l'mage dans org/myd/
pour essayer le mélange des deux... mais toujours rien...

l'url est toujours null, il ne doit donc pas chercher au bon endroit ou je
ne sais pas....




"alexandre cartapanis" wrote in message
news:44649f28$0$18333$
Je désespère, je n'arrive pas à récupérer des images stockées dans un
jar...

j'ai un projet avec cette structure :

project_root
+ classes
| + org
| | + ....
+ images
| + play.png
| | .....
+ div

quand je le mets dans un jar, j'obtiens cela (c'est désiré)

Fichier jar
+ org
| + ...
+ images
| + play.png
+ div

Tout fonctionne bien, je peux ouvrir mon projet en double cliquant sur le
fichier jar, mais... IMPOSSIBLE de récupérer ces images...

J'ai une classe dédiée au chargement des images, c'est la classe
org.myd.ToolBox

dedans j'ai une méthode static qui fournit des ImageIcon :

public static ImageIcon getIcon(String path) {
URL url = ToolBox.class.getResource(path);
ImageIcon ii = new ImageIcon(url);
}

J'ai tout essayé. mettre les images dans le répertoire des classes, ne pas
le mettre là, changer de classe pour appeler le "getRecource".... rien

Alors à l'aide merci !




Tu peux nous fournir un exemple? notamment l'URL, par exemple en faisant
un System.out.println(ToolBox.class.getResource(path));


--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email

Avatar
alexandre cartapanis
le getResource(path) ne retourne rien...

plus ou moins, j'ai essayé ca

1) URL url = ToolBox.class.getResource("play.png");
en mettant l'image dans org/myd/
car je me suis dit : le classLoader regarde là où est la classe ... mais
rien
2) URL url = ToolBox.class.getResource("images/play.png");
en laissant l'image dans images
car je me suis dit "peut-être qu'il commence à la racine du fic hier
jar... mais rien
3) URL url = ToolBox.class.getResource("org/myd/play.png");
en mettant l'mage dans org/myd/
pour essayer le mélange des deux... mais toujours rien...

l'url est toujours null, il ne doit donc pas chercher au bon endroit ou je
ne sais pas....



Effectivement, il regarde a la racine. En theorie, il doit te sortir un
URL de la forme:
jar:file:/chemin/vers/fichier/jar.jar!$PATH$
Il est donc important (normallement) de rajouter un / au debut de ton pat h.

Essaye avec path=/images/play.png




"alexandre cartapanis" wrote in messa ge
news:44649f28$0$18333$
Je désespère, je n'arrive pas à récupérer des images stocké es dans un
jar...

j'ai un projet avec cette structure :

project_root
+ classes
| + org
| | + ....
+ images
| + play.png
| | .....
+ div

quand je le mets dans un jar, j'obtiens cela (c'est désiré)

Fichier jar
+ org
| + ...
+ images
| + play.png
+ div

Tout fonctionne bien, je peux ouvrir mon projet en double cliquant sur le
fichier jar, mais... IMPOSSIBLE de récupérer ces images...

J'ai une classe dédiée au chargement des images, c'est la classe
org.myd.ToolBox

dedans j'ai une méthode static qui fournit des ImageIcon :

public static ImageIcon getIcon(String path) {
URL url = ToolBox.class.getResource(path);
ImageIcon ii = new ImageIcon(url);
}

J'ai tout essayé. mettre les images dans le répertoire des classes , ne pas
le mettre là, changer de classe pour appeler le "getRecource".... ri en

Alors à l'aide merci !




Tu peux nous fournir un exemple? notamment l'URL, par exemple en faisan t
un System.out.println(ToolBox.class.getResource(path));





--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email