un .jar tueur d'icones !!!

un .jar tueur d'icones !!! - Java - Programmation

Marsh Posté le 17-05-2005 à 14:17:20    

Bonjour ! J'ai réalisé une petite appli et j'ai fais un fichier .jar jusque là tout fonctionne parfaitement. Le seul probleme c'est que quand je lance mon .jar le programme ne trouve plus les images de mes barres d'outils alors que les images (en .gif) sont bien dans le fichier .jar  :pt1cable:  
 
Je précise que quand j'execute le programme sans le fichier .jar les images sont présentes ...

Reply

Marsh Posté le 17-05-2005 à 14:17:20   

Reply

Marsh Posté le 17-05-2005 à 14:19:32    

L'accès aux images dans un jar doit se faire avec getRessource () (ou un truc du genre) sinon ca marche pas.


---------------
PataCara
Reply

Marsh Posté le 17-05-2005 à 14:22:23    

"L'accès aux images dans un jar doit se faire avec getRessource () (ou un truc du genre) sinon ca marche pas"
Merci !! Je vais jeter un coup d'oeuil :)
Si quelqu'un peu etre plus précis je suis preneur :)

Reply

Marsh Posté le 17-05-2005 à 14:35:14    

oué, tu fais un truc genre TaClasse.class.getResources("/com/rital/application/icon.gif" );


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-05-2005 à 14:48:20    

j'ai une vieille exception dès lors que j'utilise la méthode getRessource()  

Code :
  1. java.lang.NullPointerException
  2. at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
  3. at ToolBarButton.<init>(ToolBarButton.java:28)
  4. at InterfaceUml.construirePanelUml(InterfaceUml.java:280)
  5. at InterfaceUml.<init>(InterfaceUml.java:130)
  6. at Principale.main(Principale.java:14)
  7. Exception in thread "main"


 
le chargement des images ne marche que dans un .jar ? Ou lorsque l'on lance l'application en "manuel" également ?

Reply

Marsh Posté le 17-05-2005 à 14:59:24    

rital_5_4 a écrit :

j'ai une vieille exception dès lors que j'utilise la méthode getRessource()  

Code :
  1. java.lang.NullPointerException
  2. at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
  3. at ToolBarButton.<init>(ToolBarButton.java:28)
  4. at InterfaceUml.construirePanelUml(InterfaceUml.java:280)
  5. at InterfaceUml.<init>(InterfaceUml.java:130)
  6. at Principale.main(Principale.java:14)
  7. Exception in thread "main"


 
le chargement des images ne marche que dans un .jar ? Ou lorsque l'on lance l'application en "manuel" également ?


ça marche aussi en répertoires.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-05-2005 à 15:14:06    

oki cool :)j'ai du me planter quelque part alors en tout cas le code  

Code :
  1. this.getClass().getResource("chemin/creer.gif" );


à l'air de marcher ...
J'ai l'impression que le problème viens du constructeur ImageIcon  :pt1cable: c'est louche ...

Reply

Marsh Posté le 17-05-2005 à 15:19:09    

je crois que j'ai trouvé le problème apparemment la ressource n'est pas trouvée :s car quand je fais  

Code :
  1. System.out.println(getClass().getResource("chemin/creer.gif" ).getPath());


il m'affiche null  :ouch:

Reply

Marsh Posté le 17-05-2005 à 15:23:32    

ton icone est bien copiée dans le répertoire de sortie ?
tu accèdes bien à l'icone comme dans le classapath ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-05-2005 à 15:44:46    

Code :
  1. ton icone est bien copiée dans le répertoire de sortie ?


oupsssssssssssssss je crois que je vais aller prendre ma pause café lol  :jap:  
sinon pour le code ca donne ca :

Code :
  1. public ToolBarButton(String imageFile) {
  2.     super();
  3.     this.setIcon(new ImageIcon(getClass().getResource(imageFile)));
  4.   }


 
Merci de votre aide ;)

Reply

Marsh Posté le 17-05-2005 à 15:44:46   

Reply

Marsh Posté le 17-05-2005 à 16:10:08    

bon, j'ai pas assez d'info, mais le problème est forcément bête.
 
donc l'image, tu la mets à côté de la classe dans les sources :
https://opensvn.csie.org/viewcvs.cg [...] =jcoincoin
(canard.gif)
 
pour l'appeller, tu donnes son chemin dans le classpath :

Code :
  1. frame.setIconImage(new ImageIcon(this.getClass().getResource("/jcoincoin/gui/canard.gif" )).getImage());


https://opensvn.csie.org/viewcvs.cg [...] &view=auto (dernière ligne du fichier)
 
là, dans eclipse ça doit marcher.
 
ensuite, tu fais gaffe dans ton fichier ant (build.xml) que les ressources soient bien copiées vers le répertoire de sortie là où il y a les .class de généré :

Citation :

<target name="compile" depends="init, beaninfos" description="Compile les sources">
  <!-- Compile the java code from ${src} into ${build} -->
  <javac srcdir="${src}:gen-src" destdir="${build}" classpathref="path.base" source="1.4">
  </javac>
  <!-- Copy resources -->
  <copy  todir="${build}">
         <fileset dir="${src}" excludes="**/*.java"/>
      </copy>
</target>


 
 
et voiloù


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed