[Eclipse] Problème chemin de fichier image

Résolu
Evenkore Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Plop :)

Alors voilà, j'ai un problème un peu bête, j'essaie de charger une image dans un JFrame par l'intermédiaire de ImageIO :

try {
BufferedImage img = ImageIO.read(new File(/* Problème ici */);
JLabel lab = new JLabel(new ImageIcon(img));
lab.setBounds(this.getWidth()/2-256, 0, 512, 158);
this.ctr.add(lab); //this hérite de JFrame et ctr est un JPanel
} catch (IOException e) {
e.printStackTrace();
}
Le problème est que la classe dont ce bloc fait partie se situe dans un package net.cfour.winmanage et que l'image, elle, est dans net.cfour.images. Si, en tant que nom de fichier pour l'instanciation de File, j'entre "net/cfour/images/img.png", le Build&Run d'Eclipse fonctionne et l'image apparaît bien, mais quand j'exporte mon projet en Runnable JAR file, pas d'image affichée! Et pourtant l'arborescence de mon projet Eclipse est la même que celle de mon .jar... comment faire? :/
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

D'une part, les images ne devraient pas être dans les packages mais dans une hiérarchie séparée. D'autre part, tu ne peux pas accéder aux fichiers avec
new File
dans un JAR, il faut y accéder comme une ressource : Retrieving Resources
0
Evenkore Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Merci! :)
Problème résolu ;)
Par contre, j'arrive quand même à accéder à mon fichier cfour.cfg externe avec une
new File
. 'fin c'est ce que je voulais, donc merci :P
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu peux y accéder avec new File car il est externe, s'il était dans le JAR tu devrais le considérer comme une ressource et faire de la même manière.
Remarque : en Java les fichiers de configurations existent, ce sont des fichiers .properties et il existe des mécanismes qui en facilitent l'accès : Properties
0

Discussions similaires