chargement d'images à partir d'un jar
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
Code:
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));
}
} |
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:
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:
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