Bonjour
J'ai créé une archive executable, mon programme se lance bien mais les icones n'apparaissent plus.
Comment spécifié le chemin d'accé au icones dans le programme?
Merci pour votre aide
Bonjour
J'ai créé une archive executable, mon programme se lance bien mais les icones n'apparaissent plus.
Comment spécifié le chemin d'accé au icones dans le programme?
Merci pour votre aide
Je voudrais aussi savoir comment inclure des jars externes. Je développe sous eclipse et tout fonctionne lorsque je lance l'application a partir d'eclipse.
Merci d'avance
Pour employer les ressources dans un jar, il faut que tu spécifies getRessource()
Tu peut le faire de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part BufferedImage image = ImageIO.read(getClass().getClassLoader.getRessource("chemin"));
Salut a toi,
justement en utilisant getRessource, je n'arrive pas a faire apparaite mes images, donc je fais de cette maniere directement new ImageIcon("icons/icon.gif");
Qd j'utilise MaClass.class.getResource("icons/icon.gif") cela ne fonctionne plus. C'est un probleme de chemin mais je ne sais pas quoi mettre comme chemin
Salut,
new ImageIcon() ira te chercher un fichier sur le disque dur...Envoyé par david06600
getResource() recherchera dans le classpath (et donc dans le jar) selon un chemin absolu (si cela commence par '/') ou un chemin relatif au package de la classe....
Donc : où sont situé tes images ? Dans ton Jar principale ? Sous quel arborescence ?
a++
Bonjour,
Mes images sont situées dans un dossier qui s'appelle icons qui est directement sous le projet. Mon dossier source est lui aussi directement sous le projet et il contient different package, dont un package ihm qui contient ma classe qui doit accéder aux images.
voici mon code pour y accéder qui ne marche pas.
Le code suivant marche mais lorsque j'exporte en jar executable é que mon appli est lancé, les images n'apparaissent pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 try { computerIcon = new ImageIcon(MaClasse.class.getResource("icons/computer.gif")); [i].....d'autres images[/i]
Ce code se trouve dans une fonction d'initialisation, j'utilise computerIcon ailleurs dans le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ImageIcon computerIcon = new ImageIcon("icons/computer.gif");
Merci.
C'est à dire ? Est-ce qu'il fait partie du CLASSPATH de ton application ou non ? Le projet est une notion des EDI, non pas de Java... Par exemple avec eclipse pour que les ressources soient dans le CLASSPATH il faut les ajouter comme fichier "Source"...Envoyé par david06600
Comme je l'ai dit, si MaClasse appartient au package "com.societe", getResource recherchera dans le CLASSPATH sous l'arborescence /com/societe/icons/computer.gif...Envoyé par david06600
Si ce code marche avec ton EDI c'est qu'il doit surement lancé ton application avec le répertoire de ton projet comme répertoire de travail. Or les images ne peuvent pas être accéder comme cela une fois dans le Jar...Envoyé par david06600
Donc : configure ton EDI pour que tes images soient dans le CLASSPATH (ie dans un 'package'), et utilise getResource() accéder à tes images, eventuellement en lui passant un chemin absolu (qui commence par /)...
a++
Merci pour ces précisions.
Mes images font parties du classe path, mais ne sont pas dans le mm package que le classe qui accède aux images.
Est ce qu'il y a une façon de faire pour que cela fonctionne dans ce cas la?
Si le nom du packages contenant les images est bien icons :Envoyé par adiGuba
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaClasse.class.getResource("/icons/computer.gif");
Cela marche si je met mon package icons dans le mm package que ma classe qui y accède mais si je laisse le package contenant les icons au mm niveau que mon package source qui contient toute mes classes et que j'utilise
Cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaClasse.class.getResource("/icons/computer.gif");
Désolé
Quel est le nom complet du package ? L'arborescence complete vers ton fichier ?
a++
J'utilise eclipse, le nom du projet est com.moviesoftswing.logesco, sous le projet j'ai mon dossier source qui s'appelle src, et mon dossiers icons.
Sous src j'ai un package ihm, qui contient la classe FileExplorer qui doit utiliser mes icons.
Je pourrais envoyer une image de l'arborescence mais je ne c'est pas comment ajouter une image...
Le dossier "icons" doit être dans "src" pour faire partie du classpath...
a++
ok sa marche, je pensais qu'en l'ajoutant en source comme le dossier src cela marcherai.
Merci beaucoup pour ton aide.
Le dossier que tu ajoute en source devient la racine du classpath : il ne fait donc pas partie de ce dernier...
Si tu veux séparer les images des sources, il faut ajouter un autre dossier en tant que source :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3res // ajouter en tant que source +-> icons +-> computer.gif
Oui c'est ce que j'ai pensé aussi, merci d'avoir confirmé. Mais bon cela me convient aussi qu'il soit dans le dossier source.
Merci
A bientot.
Partager