Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[getToolkit()]

8 réponses
Avatar
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.

8 réponses

Avatar
Yliur
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 ?
Avatar
Xavier Nayrac
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
Avatar
Daniel Moyne
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.
Avatar
Daniel Moyne
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.
Avatar
Xavier Nayrac
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
Avatar
Daniel Moyne
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
Avatar
Albert
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.
Avatar
Xavier Tarrago
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" a écrit dans le message de news:
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.