IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

DefaultTableCellRenderer, couleur et checkbox


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut DefaultTableCellRenderer, couleur et checkbox
    Salut,

    encore un post sur les DefaultTableCellRenderer mais je ne trouve pas de solution a mon probleme:

    J'ai une JTable, un model. Une des colonne est une checkbox (col 5).
    Je souhaite que la couleur des lignes soit dependante de la valeur d'une des colonne (col 4)

    J'ai donc crée un DefaultTableCellRenderer qui me retourne la bonne couleur.Pas de probleme.

    Par contre si j'ajoute uniquement la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    table.setDefaultRenderer(Object.class,new MonTableCellRenderer());
    les 2 dernieres colonnes de ma table qui sont respectivement un Double et un Boolean (checkBox) ne sont pas coloriées ...

    J'ai donc rajouté les 2 lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    table.setDefaultRenderer(Double.class,new MonTableCellRenderer());
    table.setDefaultRenderer(Boolean.class,new MonTableCellRenderer());
    Ce qui resout le probleme de couleur MAIS dans la derniere colonne, a la place d'une checkbox, j'ai la valeur true ou false ecrite en toute lettre

    Donc : n'y a t'il pas moyen d'attribuer le renderer quelque soit la classe de la colonne ? et comment parvenir a conserver une checkbox (je presise que j'inserais simplement le Boolean dans la colonne et que le renderer par defaut affichait tout seul sous forme de checkbox )

    Merci pour votre aide

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Ton renderer retourne surement un simple JLabel. Tu peux ajouter un test du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (value instanceof Boolean) {
      cachedCheckBox.setValue(((Boolean) value).toBoolean());
      return chachedCheckBox;
    }
    Tu peux aussi creer un deuxieme renderer. Regarde le code source de la classe JTable et cherche les classes internes NumberRenderer, BooleanRenderer, etc. Tu verras comment c'est gere par defaut.

  3. #3
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    salut,

    en fait dans ma méthode getTableCellRendererComponent j'avais inseré la ligne suivante en pensant que ca me récuperait non pas un simple JLabel mais le composant correspondant a la classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    visiblement ce n'etait pas suffisant...

    Je suis donc aller voir les source de JTable : tres tres instructif
    j'ai crée un second renderer pour les Boolean

    merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/08/2006, 20h57
  2. changher la couleur d' un checkbox
    Par dietrich dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/03/2006, 13h17
  3. changer couleur fond de cellule à la selection checkbox
    Par khoudj dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/12/2005, 19h08
  4. Réponses: 1
    Dernier message: 30/11/2005, 14h57
  5. Couleur d'un CheckBox
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/07/2002, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo