[getToolkit()]

Le
Daniel Moyne
Dans un projet développé avec NetBeans j'utilise une Image comme pattern
avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si on
déplace le projet ailleurs.

Habituellement on va chercher les icônes ou autres strings avec une
ressource par exemple :
Icon myIcon=resourceMap.getIcon("Icon.myIcon");
et dans la property file associée à la classe on trouve ceci :
Icon.myIcon=icons/patern.png
et en fait on indique un chemin relatif.

Ici comment faire pour que getToolkit().getImage() utilise le même
principe de chemin relatif ?
Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Yliur
Le #20000161
Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme pattern
avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si on
déplace le projet ailleurs.

Habituellement on va chercher les icônes ou autres strings avec une
ressource par exemple :
Icon myIcon=resourceMap.getIcon("Icon.myIcon");
et dans la property file associée à la classe on trouve ceci :
Icon.myIcon=icons/patern.png
et en fait on indique un chemin relatif.

Ici comment faire pour que getToolkit().getImage(...) utilise le même
principe de chemin relatif ?
Merci.




Je ne connais pas Netbeans et je ne comprends pas ce que tu fais avec ton
"pattern".

Mais si ton problème est de "convertir" le chemin relatif en chemin absolu :
new File(cheminRelatif).getAbsolutePath()

Est-ce que ça répond à ton problème ?
Xavier Nayrac
Le #20001411
Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme pattern
avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si on
déplace le projet ailleurs.



Pourquoi ne pas utiliser le chemin relatif directement ? Tout simplement.

--
Xavier Nayrac
http://personalbugtracker.free.fr
Daniel Moyne
Le #20004481
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme pattern
avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si on
déplace le projet ailleurs.



Pourquoi ne pas utiliser le chemin relatif directement ? Tout simplement.


C'est évidemment le problème et c'est là où je coince ; vois la réponse à
Yliur où je joins le code.
Daniel.
Daniel Moyne
Le #20004541
Yliur wrote:

Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme pattern
avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si on
déplace le projet ailleurs.

Habituellement on va chercher les icônes ou autres strings avec une
ressource par exemple :
Icon myIcon=resourceMap.getIcon("Icon.myIcon");
et dans la property file associée à la classe on trouve ceci :
Icon.myIcon=icons/patern.png
et en fait on indique un chemin relatif.

Ici comment faire pour que getToolkit().getImage(...) utilise le même
principe de chemin relatif ?
Merci.




Je ne connais pas Netbeans et je ne comprends pas ce que tu fais avec ton
"pattern".

Mais si ton problème est de "convertir" le chemin relatif en chemin absolu
:
new File(cheminRelatif).getAbsolutePath()

Est-ce que ça répond à ton problème ?


Ce que je fais avec mon pattern est ajouter un motif qui se répète sur un
fond coloré par exemple.

Comme je ne m'en sort pas voici le code du début de ma classe avec son
constructeur :


public MyJPanelWithPatern(String name,AbsoluteLayout layout,Color
background) {

patternImage=getToolkit().getImage("/media/data_1/dmoyne_data/NetBeans/GenList/src/genlist/resources/images/patern.png");
this.setName(name);
this.setLayout(layout);
this.setBackground(background);
}

Je ne suis pas arrivé à utiliser par exemple :
resourceMap.getImageIcon(...);

À noter que patternImage est de type Image mais que resourceMap.getImage()
n'existe pas !

Mon fichier patern.png est situé classiquement dans genlist.resources.images
Amicalement.
Xavier Nayrac
Le #20005251
Daniel Moyne a écrit :
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme pattern
avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si on
déplace le projet ailleurs.


Pourquoi ne pas utiliser le chemin relatif directement ? Tout simplement.


C'est évidemment le problème et c'est là où je coince ; vois la réponse à
Yliur où je joins le code.
Daniel.




On tourne un peu en rond...
Quels sont les messages d'erreurs ?
As tu regardé du coté de swingX (par exemple) si un composant tout fait
n'existait pas déjà ?
Quoi de getClass().getResource() ?

--
Xavier Nayrac
http://personalbugtracker.free.fr
Daniel Moyne
Le #20012401
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme
pattern avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si
on déplace le projet ailleurs.


Pourquoi ne pas utiliser le chemin relatif directement ? Tout
simplement.


C'est évidemment le problème et c'est là où je coince ; vois la réponse à
Yliur où je joins le code.
Daniel.




On tourne un peu en rond...
Quels sont les messages d'erreurs ?
As tu regardé du coté de swingX (par exemple) si un composant tout fait
n'existait pas déjà ?
Quoi de getClass().getResource() ?


Xavier ce que je veux dire est que je veux indiquer mon fichier de manière
relative par rapport au projet et avec une resources je n'y arrive pas ; par
exemple Netbeans utilise ceci pour attacher une icône à un JLabel :
jLabelInformationOnNamedWitnesses1.setIcon(resourceMap.getIcon("jLabelInformationOnNamedWitnesses1.icon"));
avec un fichier property qui contient ceci :
jLabelInformationOnNamedWitnesses1.icon=icons/Help24.gif
et donc tout est en relatif par rapport à resources du projet, et que je
veux tout simplement faite la même chose avec le getImage() et je n'y arrive
pas !
Amicalement
Albert
Le #20022591
Daniel Moyne a écrit :
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme
pattern avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc si
on déplace le projet ailleurs.


Pourquoi ne pas utiliser le chemin relatif directement ? Tout
simplement.


C'est évidemment le problème et c'est là où je coince ; vois la réponse à
Yliur où je joins le code.
Daniel.



On tourne un peu en rond...
Quels sont les messages d'erreurs ?
As tu regardé du coté de swingX (par exemple) si un composant tout fait
n'existait pas déjà ?
Quoi de getClass().getResource() ?


Xavier ce que je veux dire est que je veux indiquer mon fichier de manière
relative par rapport au projet et avec une resources je n'y arrive pas ; par
exemple Netbeans utilise ceci pour attacher une icône à un JLabel :
jLabelInformationOnNamedWitnesses1.setIcon(resourceMap.getIcon("jLabelInformationOnNamedWitnesses1.icon"));
avec un fichier property qui contient ceci :
jLabelInformationOnNamedWitnesses1.icon=icons/Help24.gif
et donc tout est en relatif par rapport à resources du projet, et que je
veux tout simplement faite la même chose avec le getImage() et je n'y arrive
pas !
Amicalement




Utilise getRessourceAsStream(chemin_relatif), puis
ImageIO.read(InputStream).

Si par exemple, tu as:
* tonpackage.TaClassAvecMain
et
* tonpackage.icones/MonIcone.gif

tu devrais faire:
TaClassAvecMain.class.getRessourceAsStream("icones/MonIcone.gif") je
pense. Il faut essayer avec ou sans '/' devant, etc.
Xavier Tarrago
Le #20023361
Pour les fichiers qui ne doivent pas être modifiés (comme ca a l'air d'etre
le cas) tu peux regarder dans Class et ClassLoader getRessource,
getResourceAsStream qui permettent d'ouvrir un fichier se trouvant avec les
classes. Au déploiement, ce fichier pourra etre dans un jar avec le reste
des classes comme les fichiers .properties.

Dans le cas ou le fichier doit pouvoir etre modifié, je n'ai pas de reponse
vraiment satisfaisante. Soit utiliser une property systeme pour indiquer un
répertoire applicatif ou seront cherchés ces fichiers, soit donner des
chemins relatifs et lancer le programme avec le bon répertoire de travail.


"Albert" 4a9b79de$0$17741$
Daniel Moyne a écrit :
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Xavier Nayrac wrote:

Daniel Moyne a écrit :
Dans un projet développé avec NetBeans j'utilise une Image comme
pattern avec ceci :
patternImage=getToolkit().getImage(absolute_path_of_gif_image);
et évidemment c'est ridicule puisque le chemin absolu devient caduc
si
on déplace le projet ailleurs.


Pourquoi ne pas utiliser le chemin relatif directement ? Tout
simplement.


C'est évidemment le problème et c'est là où je coince ; vois la réponse
à
Yliur où je joins le code.
Daniel.



On tourne un peu en rond...
Quels sont les messages d'erreurs ?
As tu regardé du coté de swingX (par exemple) si un composant tout fait
n'existait pas déjà ?
Quoi de getClass().getResource() ?


Xavier ce que je veux dire est que je veux indiquer mon fichier de
manière relative par rapport au projet et avec une resources je n'y
arrive pas ; par exemple Netbeans utilise ceci pour attacher une icône à
un JLabel :
jLabelInformationOnNamedWitnesses1.setIcon(resourceMap.getIcon("jLabelInformationOnNamedWitnesses1.icon"));
avec un fichier property qui contient ceci :
jLabelInformationOnNamedWitnesses1.icon=icons/Help24.gif
et donc tout est en relatif par rapport à resources du projet, et que je
veux tout simplement faite la même chose avec le getImage() et je n'y
arrive pas !
Amicalement




Utilise getRessourceAsStream(chemin_relatif), puis
ImageIO.read(InputStream).

Si par exemple, tu as:
* tonpackage.TaClassAvecMain
et
* tonpackage.icones/MonIcone.gif

tu devrais faire:
TaClassAvecMain.class.getRessourceAsStream("icones/MonIcone.gif") je
pense. Il faut essayer avec ou sans '/' devant, etc.



Publicité
Poster une réponse
Anonyme