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

Composants Java Discussion :

Colorier une ligne d'une JTable en testant la valeur d'un champs


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Colorier une ligne d'une JTable en testant la valeur d'un champs
    Bonjour, j'ai un soucis avec la JTable

    Dans modele de données, je dispose d'un champs boolean et un int .

    J'aimerais colorier toute la ligne en orange de ma Jtable, lorsque le boolean est a true, , et quand la valeur du int est 1, colorier la ligne en rouge. Le champs boolean a la priorité sur le champs int.

    J'ai essayé d'utiliser un DefaultTableCellRenderer sur ma JTable mais sans succes. Ca ne me permet que d'agir sur la cellule et non la ligne.

    des idees?? Merki

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    J'ai redefini la fonction prepareRender de la JTable en faisant mes test. Ca marche mais est ce que c'est une facon de faire correcte? Sinon la colonne comportant le boolean ne doit pas etre visible. Comment faire?. Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
      JTable jtable = new JTable(warningListTableModel) {
                public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                    Component component = super.prepareRenderer(renderer, row, column);
     
                    Object value = super.getValueAt(row, 2);
                    if ((Boolean) value)
                        component.setForeground(Color.ORANGE);
     
                    else {
     
                        value = super.getValueAt(row, 1);
                        if ((Integer) value > 0)
                            component.setForeground(Color.RED);
                        else
                            component.setForeground(Color.GREEN);
                    }
     
                    return component;
                }
            };

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/01/2015, 18h30
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. Réponses: 1
    Dernier message: 02/07/2009, 14h42
  5. Réponses: 1
    Dernier message: 19/02/2007, 16h58

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