Bjr !
Mon problème est le suivant :
J'ai un projet1 (qui est mon projet principal) qui appelle une classe de mon projet2 qui dans le classpath de projet1 !
Mon projet2 est en fait une bibliothèque de classes utilitaires. Dans mon problème, j'ai une classe Bouton qui charge des images elles aussi dans mon projet2.
Structure de mon projet2 :
Bouton.class
images/valider.png
images/annuler.png
Donc ma classe Bouton
crée un JBouton avec les images chargées par le chemin que j'essaie de trouver (comme vous pouvez le voir précédemment) grâce à
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
19
20
21
22
23
24
25
26
27
28
29 public class Bouton extends JButton { public Bouton(TypeBouton typeBouton) { super(); ImageIcon img = null; if (typeBouton==TypeBouton.VALIDER) { img = new ImageIcon(Bouton.class.getResource("images\\valider.png")); setToolTipText("Valider"); } else if (typeBouton==TypeBouton.ANNULER) { img = new ImageIcon(Bouton.class.getResource("images\\annuler.png")); setToolTipText("Annuler"); } setIcon(img); setContentAreaFilled(false); setBorderPainted(false); setFocusPainted(true); setPreferredSize(new Dimension(102, 30)); setCursor(new Cursor(Cursor.HAND_CURSOR)); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part Bouton.class.getResource("images\\valider.png")
Quand j'exécute mon projet1 dans EDI (NetBeans), les images de mes boutons s'affichent.
Or, quand je compile projet1 (qui compile automatiquement projet2 et le rajoute dans le répertoire dist/lib de projet), et que je l'exécute en ligne de commande (ou en double-cliquant par ce que c'est un jar-exécutable), les images ne s'affichent plus !
Structure une fois compilée :
projet1.jar
lib/projet2.jar
projet2.jar est bien lancé car le message dit que getResource renvoie NULL pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part img = new ImageIcon(Bouton.class.getResource("images\\valider.png"));
J'imagine donc très bien qu'à partir de projet1, Bouton.class.getResource (qu'il trouve dans le contexte de projet2) ne renvoie rien dans le contexte de projet1 !
Quel chemin d'accès dois-je mettre pour retrouver mes images !
MERCI
Partager