Mais lorsque je veux l'utiliser dans un autre ordinateur, les images ne s'affiche pas; et lorsque je change le chemin de l'image à utiliser en ceci : src/main/resources/images/cabinet.PNG, dans ce cas, les exécutables ne se lancent même pas.
Pourriez-vous s'il vous plaît m'aider à trouver une solution pour pouvoir lancer l'application depuis n'importe quel machine avec l'affichage des image ?
Si la solution a déjà été trouvée, veuillez s'il vous me l'indiquez ?
- Edité par JoëlLemfileNtumba 15 septembre 2020 à 12:52:11
Et aucune variable n'est null, puisque, lancé depuis l'IDE, ça fonctionne, mais ce sont les exécutables qui ne donnent rien du tout. Lorsqu'il y a un '/' devant, il est null .
Dans le jar/exe généré le chemin src/main/resources/ n'existe plus, le contenu de ce chemin se retrouve à la racine de ton classpath.
Il faut donc continuer à charger les images par le classloader en cherchant dans le classpath, mais avec comme chemin ./
Tu peux tester directement dans ton IDE, car lors de la compilation il va émuler ce comportement. Et pour vérifier ce qu'il se passe (si tu utilises Maven) tu peux aller voir ce qui est créé dans target/classes, si tu n'utilises pas Maven, ton IDE doit avoir un répertoire build quelque part. Ainsi tu verras exactement où se trouvent tes images, et donc adapter ton chemin
Dans le target classes, les images sont bien dans le sous-répertoire images j'imagine ?
As-tu vérifié dans le jar généré que les images sont bien présentes dans ./images ?
Sinon afin de voir ou sont cherchées les images, tu peux afficher le résultat de this.getClass().getClassLoader().getResource("./images/cabinet.png") qui retourne une URL
Mais lorsque je fais avec this.getClass().getClassLoader().getResourceAsStream("./images/cabinet.png"), ça me donne ça : java.io.BufferedInputStream@5c32e3b7. C'est normal ??
Oui, car ClassLoader.getResourceAsStream(String) retourne un InputStream.
Par contre en mode jar, il faut afficher le résultat this.getClass().getClassLoader().getResource("./images/cabinet.png") qui retourne une URL, comme celle que tu as obtenue lors de l'exécution dans ton IDE. Cela te permettra de voir si il cherche bien dans le jar, et où
Finalement j'ai trouvé une autre solution pour configurer l'utilisation des images dans le logiciel.
Merci en tout cas pour votre aide et vos conseils !
à bientôt !
LNJDJW.ORG
Les exécutable .exe et .jar ne se lance plus
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl