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 et coloration de ligne


Sujet :

Composants Java

  1. #1
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut Jtable et coloration de ligne
    Bonjour,
    j'ai un pb de coloration de ligne, j'ai vu qu'il y a des exemples mais je n'en trouve pas un ou je pourrais indiquer le numéro d'une ligne a colorer.
    En fait j'ai un tableau avec un certain nombre de ligne, je fais une recherche et j'aimerais colorer les lignes trouvé.
    Si quelqu'un pouvait m'aider, j'avoue que je patauge un peu avec les Cellrenderer..

  2. #2
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Voila un Renderer (Non commenté) mais qui fais ce que tu veux...
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
        public class ColorRenderer {
            private JTable table;
     
            private AbstractTableModel model;
     
            private Map colors;
     
            private Point location;
     
            public ColorRenderer(JTable table) {
                this.table = table;
                model = (AbstractTableModel) table.getModel();
                colors = new HashMap();
                location = new Point();
            }
     
            public void setBackground(Component c, int row, int column) {
                if (table.isCellSelected(row, column))
                    return;
                if (c instanceof DefaultTableCellRenderer) {
                    c.setBackground(table.getBackground());
                }
                column = table.convertColumnIndexToModel(column);
                Object key = getKey(row, column);
                Object o = colors.get(key);
                if (o != null) {
                    c.setBackground((Color) o);
                    return;
                }
                key = getKey(row, -1);
                o = colors.get(key);
     
                if (o != null) {
                    c.setBackground((Color) o);
                    return;
                }
                key = getKey(-1, column);
                o = colors.get(key);
     
                if (o != null) {
                    c.setBackground((Color) o);
                    return;
                }
            }
     
            public void setCellColor(int row, int column, Color color) {
                Point key = new Point(row, column);
                colors.put(key, color);
            }
     
            public void setColumnColor(int column, Color color) {
                setCellColor(-1, column, color);
            }
     
            public void setRowColor(int row, Color color) {
                setCellColor(row, -1, color);
            }
     
            private Object getKey(int row, int column) {
                location.x = row;
                location.y = column;
                return location;
            }
        }
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            colorRenderer = new ColorRenderer(table);
            colorRenderer.setRowColor(1, Color.BLUE);
    Tu peux aussi faire pareil avec setColumnColor ou setCellColor...
    Voila !
    +++
    Ju

  3. #3
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 139
    Points
    139
    Par défaut
    Je te remercie pour ta réponse.
    En fait j'ai réussie à faire ce que je veux, mais de manière differente car j'avais oublié un paramètre à mon problème, j'utilise un JTreeTable, donc en fait le numéro de la ligne a colorié dépend de si j'ai ou non dérouler mon noeud.
    En tout cas je garde ta solution de côté, ca devrait me servir plus tard.

    Encore merci.

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

Discussions similaires

  1. Colorer une ligne JTable selon une bdd
    Par Bladelight dans le forum Composants
    Réponses: 1
    Dernier message: 12/08/2010, 11h10
  2. [JTable] coloration des lignes d'une JTable
    Par MathiasM dans le forum Composants
    Réponses: 3
    Dernier message: 22/06/2009, 10h19
  3. [Débutant] Colorer une ligne dans une Jtable
    Par flora32 dans le forum Composants
    Réponses: 3
    Dernier message: 11/01/2009, 13h47
  4. JTable colorer 1 ligne sur 2
    Par haco28 dans le forum Composants
    Réponses: 5
    Dernier message: 15/02/2008, 10h56

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