Java: cast de couleur
Résolu
velociraptor
-
velociraptor -
velociraptor -
Bonjour,
J'ai un problème que vous pourrez sans doute m'aider à régler:
voilà, j'ai un cast à faire mais nulle part je ne trouve d'aide la dessus...
je voudrais transformer une String en Color
j'ai essayé ça:
Color back = (Color)(tokenizer.nextToken());
avec tokenizer.nextToken() renvoyant java.awt.Color[r=0,g=0,b=255] mais ça ne marche pas...
en espèrant que vous pourrez m'aide, je vous remercie d'avance
Alexandre
J'ai un problème que vous pourrez sans doute m'aider à régler:
voilà, j'ai un cast à faire mais nulle part je ne trouve d'aide la dessus...
je voudrais transformer une String en Color
j'ai essayé ça:
Color back = (Color)(tokenizer.nextToken());
avec tokenizer.nextToken() renvoyant java.awt.Color[r=0,g=0,b=255] mais ça ne marche pas...
en espèrant que vous pourrez m'aide, je vous remercie d'avance
Alexandre
A voir également:
- Java: cast de couleur
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
Salut,
ce n'est pas possible, caster un objet c'est juste faire ressortir des qualité qu'il à déjà et une String et Color sont 2 familles différentes, on ne cast que les classes déscendant de la super classe pour les faire remonteer vers elle je crois... par contre j'ai fait ceci :
j'appelle cette fonction decodeColor pour faire le lien avec static decode(String str) de la classe Color, si tu avais des couleurs simple en paramètres (mot = "blue" ) çà simplifierai avec :
Color.decode(mot) renvoie l'objet Color correspondant ...
ici, testColor.decodeColor(mot) renvoie de même un objet Color mais attention le mot doit être formaté comme dans l'exemple où bien faisles modifs, enfin fait à ta sauce ...
A+
ce n'est pas possible, caster un objet c'est juste faire ressortir des qualité qu'il à déjà et une String et Color sont 2 familles différentes, on ne cast que les classes déscendant de la super classe pour les faire remonteer vers elle je crois... par contre j'ai fait ceci :
public class testColor extends Color{
public testColor() { // nécessaire
super(0,0,0);
}
public static Color decodeColor(String mot) {
try {
mot = mot.substring(mot.indexOf("[") + 1, mot.indexOf("]"));
mot = mot.replaceAll("r=", "");
mot = mot.replaceAll("g=", "");
mot = mot.replaceAll("b=", "");
StringTokenizer st = new StringTokenizer(mot, ",");
int fr = Integer.parseInt(st.nextToken());
int fg = Integer.parseInt(st.nextToken());
int fb = Integer.parseInt(st.nextToken());
Color c = new Color(fr, fg, fb);
return c;
}catch(Exception e) { /* afficher mess err IllegalArgumentException entre autre,
sans oublier le compte de mots */
}
return null;
}
j'appelle cette fonction decodeColor pour faire le lien avec static decode(String str) de la classe Color, si tu avais des couleurs simple en paramètres (mot = "blue" ) çà simplifierai avec :
Color.decode(mot) renvoie l'objet Color correspondant ...
ici, testColor.decodeColor(mot) renvoie de même un objet Color mais attention le mot doit être formaté comme dans l'exemple où bien faisles modifs, enfin fait à ta sauce ...
A+
pile poil ce que je cherchais! Merci beaucoup!
En plus maintenant je connais la régle de cast grâce à toi! :-)
encore merci
a+
Alexandre