Page d'accueilFindIt !Contact Cahier Java

Cahier Java

 Forum Java

Ce forum est dédié à l'ouvrage Bien programmer en Java 7, ainsi qu'aux éditions précédentes des Cahiers du Programmeur Java.
Utilisez-le pour toute demande d'information supplémentaire ou pour toute suggestion au sujet de ces ouvrages.
Pour les informations relatives au Cahier du programmeur Swing, merci d'utiliser le forum qui lui est dédié.
Vous pouvez consulter ces forums librement. Pour y participer, inscrivez-vous tout d'abord.

Sujets Messages récents Identification Inscription
Messages du sujet Mais où sont les icones ?? -ChargeurRessource-

..So..

Ville : Annecy
Membre depuis : 2 févr. 2007
Messages : 5
 2 févr. 2007 à 14:26
Hé bien j'abandonne, je donne ma langue au chat...

Je précise un peu :)
Voici ce que dit l'aide :

public class ChargeurRessource

Chargeur de ressources relatives au classpath. Exemple d'utilisation :

ChargeurRessource chargeur = new ChargeurRessource ("com/eteks/images/");
// Creation d'une icone avec l'image de la ressource com/eteks/images/test.jpg
ImageIcon icone = chargeur.getIcon ("test.jpg");

Je comprends donc que le chemin donnée en paramètre se rajoute a celui du classpath pour obtenir le chemin d'accès aux icônes, logique.

Je repère mon fichier .classpath voila ce que j'obtiens :
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="SWT_CONTAINER/PLATFORM"/>
<classpathentry kind="lib" path="C:/Documents and Settings/BbOY/Desktop/CahierJava/lib/jlfgr-1_0.jar"/>
<classpathentry kind="lib" path="C:/Documents and Settings/BbOY/Desktop/CahierJava/lib/test.jar"/>
<classpathentry kind="output" path=""/>
</classpath>

Mais voila quel est le classpathentry kind à définir ? Logiquement le src comme "source" mais rien n'y fait
Et où se situent les icones ? impossible de les trouver avec l'assistant recherche, alors qu'Eclipse les utilisent correctement dans le programme.

Merci d'avance pour toute aide.

Manu

Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
 3 févr. 2007 à 13:20
> Voici ce que dit l'aide :
> public class ChargeurRessource
> Chargeur de ressources relatives au classpath. Exemple d'utilisation :
> ChargeurRessource chargeur = new ChargeurRessource ("com/eteks/images/");
> // Creation d'une icone avec l'image de la ressource com/eteks/images/test.jpg
> ImageIcon icone = chargeur.getIcon ("test.jpg");

Désolé mais la documentation javadoc de la classe ChargeurRessource est un peu fausse :
vu comment est organisé le code dans le livre, il devrait y avoir un slash devant com/eteks/images
  ChargeurRessource chargeur = new ChargeurRessource ("/com/eteks/images/");

Mais vous dire cela ne vous aidera probablement pas. L'exemple de cette classe montre comment l'utiliser pour charger le fichier d'une image "test.jpg" disponible en ressource dans un dossier "/com/eteks/images/".
Ce qu'il faut comprendre ici c'est où doivent se trouver les ressources à l'exécution pour que la JVM puisse les trouver. Comme expliqué page 197, le dossier "com" et les sous-dossiers où est rangée l'image "/com/eteks/images/test.jpg" doivent être dans un des dossiers indiqués dans l'option -classpath ou alors dans un fichier d'archive .jar de cette option.
Par exemple, si vous lancez votre programme ainsi :
  java -classpath C:\classes com.eteks.test.TestImage

L'image test.jpg devra être rangée dans le dossier C:\classes\com\eteks\images .

Si vous voulez un exemple concret de mise en oeuvre de la classe com.eteks.outils.ChargeurRessource, référez-vous à l'application de classe com.eteks.test.EditeurTexte de la page 195. Dans cet exemple, les icônes sont chargées à partir du fichier jlfgr-1_0.jar.

> Je repère mon fichier .classpath [...]

Pour comprendre ce système de rangement des fichiers de ressource, je vous conseille très fortement de réussir à lancer votre programme avec la commande java dans une fenêtre de commandes. Une fois que vous aurez réussi à lancer votre programme ainsi, je suis à peu près sûr que vous ferez le parallèle avec le fichier .classpath d'Eclipse sans difficulté.
Ce qui est intéressant avec cet IDE, c'est que si vous décidez de séparer les sources des classes dans des dossiers séparés, Eclipse recopie d'office les ressources du dossier source dans le dossier des classes.
---
Manu (moderator/modérateur)

..So..

Ville : Annecy
Membre depuis : 2 févr. 2007
Messages : 5
 4 févr. 2007 à 08:35
En effet, compiler / éxécuter le programme en ligne de commande aide grandement à la compréhension.
Cela m'a permis d'éclaircir des zones d'ombres et de répondre à mes questions :D

Merci pour vos précieux conseils.


Page d'accueilFindIt !ContactDébut de la page

© Copyrights 1997-2014 eTeks - Tous droits réservés

Cahier Java