Java: cast de couleur

[Résolu/Fermé]
Signaler
-
 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

1 réponse

Messages postés
365
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2006
6
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 :
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+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Super!

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