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 :

[JTable] Gérer la couleur de chaque ligne


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 65
    Par défaut [JTable] Gérer la couleur de chaque ligne
    bonjour;
    je suis un etudiant et j'ai un gros probleme j'ai essayé ce code
    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
    //*************
     jTable1 = new JTable(statsTableModel){
      public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
      {
      Component component = super.prepareRenderer(renderer,row,column);
     
      if(jTable1.getModel().getValueAt(row,column).toString().equals("Warning") && column == 3)
                        component.setBackground(Color.yellow);
     
     
      return component;
      }
     
      public boolean isCellEditable(int row, int col)
      { return false; }
      };
     
    //****************
    pour collorer les paquet que je recoit et que je les insere dans un jtable
    chaque fois que je recoit un paquet je regarde la colone 3 si elle contient warning je colore la ligne ajouté en jaune
    puis je recoit le 2eme paquet si la colone 3 contient un debug je colore la ligne ajouter en rouge et ainsi de suite
    mais ce code ne m'aide pas à trouvé ce que je veux
    si la 1er ligne est rouge
    puis si la 2eme est jaune la 1ere je transforme en jaune de cette facon tous le tableau aurra la couleur de la derniere ligne

    merci

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    bonsoir,
    il faut savoir que le Component renvoyé par le renderer est utilisé pour peindre chaque case du tableau. Donc il ne faut pas que tu te fies à un état quelconque du Component, il faut que tu positionnes les caractéristiques (la couleur, mais ça peut être la police, etc.) de ton renderer dans tous les cas. D'autre part, c'est toute la ligne que tu colories en fonction de la colonne 3.
    Note : il est d'usage de redéfinir la méthode getTableCellRenderer plutôt que prepareRenderer, elle fournit plus d'informations pour customiser le rendu.

    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
    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { 
      Component component = super.prepareRenderer(renderer, row, column); 
     
      String value = jTable1.getModel().getValueAt(row, 3).toString();
      Color bg = jTable1.getBackground(); // par défaut
     
      if ("Warning".equals(value)) {
         bg = Color.yellow;
      } else if ("Debug".equals(value)) {
         bg = Color.red;
      }
     
      component.setBackground(bg);
      return component; 
    }

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 65
    Par défaut merci
    merci beaucoups pour votre reponse ça marche ;vraiment tu m'a bq aidez merci mille fois

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/11/2010, 15h42
  2. JTable - Changer la couleur d'une ligne MODIFIEE
    Par johncrom dans le forum Composants
    Réponses: 2
    Dernier message: 04/03/2010, 17h56
  3. TMemo : Choisir la couleur de chaque ligne ajouté ?
    Par Aleksis dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/08/2006, 23h58
  4. Réponses: 5
    Dernier message: 06/06/2006, 10h27
  5. [JTable] Changer la couleur d'une ligne
    Par CVERRIER3 dans le forum Composants
    Réponses: 2
    Dernier message: 02/11/2005, 15h54

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