Java Path Load

cs_Taz1984 Messages postés 47 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 13 mars 2013 - 16 janv. 2013 à 17:36
cs_Taz1984 Messages postés 47 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 13 mars 2013 - 16 janv. 2013 à 17:50
Bonjour ,

je cherche à charger une image via :

 Image im = Toolkit.getDefaultToolkit().getImage(path_logo);


Le problème étant que le path_logo , je ne veux pas mettre :
D:\\image.jpeg un path en dur.

Je voudrais créer dans mon arborescence de projet, un "src/main/resources" dans lequelle je pose l'image.

Cependant j'ai essayé cela mais ca ne marche pas .
 String path_logo = getClass().getResource("/logo.gif").getPath();



Et celui ci pointe vers target , y aurait il un moyen de le faire pointer plutôt vers "src/main/resources/logo.gif".

Merci d'avance

2 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
16 janv. 2013 à 17:45
Salut,

Le problème actuel c'est que ton chemin n'est pas bon. Il devrait être /main/resources/logo.gif

Afin de séparer le code sources des ressources, je te suggère d'ajouter un répertoire rsrc à côté du répertoire src et d'ajouter le répertoire rsrc dans le classpath un peu comme ça :

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="rsrc"/>
...


Avec ça ton code marchera, le chemin /logo.gif pointera directement vers rsrc/logo.gif.
0
cs_Taz1984 Messages postés 47 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 13 mars 2013
16 janv. 2013 à 17:50
Je ne voudrais pas changer le classpath car si un autre utilisateur ouvre le projet il faudra aussi qu'il change le classpath .

j'ai testé en mettant :

 String path_logo = getClass().getResource("/main/resources/logo.gif").getPath();


Il ne trouve pas
java.lang.NullPointerException


j'avais déja essayé de faire comme ça, même en mettant :

 String path_logo = getClass().getResource("src/main/resources/logo.gif").getPath();


toujours rien !!!

aurais tu une autre piste sans toucher le classpath merci !!!
0
Rejoignez-nous