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] coloration des lignes d'une JTable


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut [JTable] coloration des lignes d'une JTable
    Euh... j'ai cru comprendre un peu trop vite

    Il faut faire hériter ta table de DefaultTableCellRenderer ?
    Et alors ajouter cette fameuse méthode, et mettre dans son corps tous les tests sur les lignes ?
    Ce qui voudrait dire que cette méthode est appelée automatiquement lors de la création de la table ?

  2. #2
    Membre éclairé
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Points : 844
    Points
    844
    Par défaut
    Admettons que tu veuilles colorer en gris une ligne sur deux de ta JTable

    tu peu écrire un renderer comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class InterleaveColoredRenderer extends DefaultTableCellRenderer
    {
        public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) 
       {   JLabel result = (JLabel)super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
            if(isSelected) return result;
     
            boolean coloration = (row % 2);
            if(coloration) result.setBackground( Color.GRAY );
            else              result.setBackground( Color.WHITE );
     
            return result;
        }
    }
    Et tu parametre ta JTable comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maTable.setDefaultRenderer( Object.class , new InterleaveColoredRenderer() );
    Ce n'est qu'a titre d'exemple de comment fonctionne un Renderer.
    JBusyComponent, une API pour rendre occupé un composant swing.
    SCJP Java 6.0 (90% pass score)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    J'ai à peu près compris cette fois

    (J'ai préféré tester avant de venir dire que ma question était... résolue)

    Merci à tous les deux !

  4. #4
    Membre du Club Avatar de lamis2009
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 67
    Points
    67
    Par défaut
    Salut!

    j essaye votre code mais puisque j ai une colonne de checkbox et une colonne de réelles il n ont pas ete colore

    Comment je peux les colorier??

    Merci d avance

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

Discussions similaires

  1. [WD17] Coloration des lignes d'une table, comportement étrange
    Par droliprane dans le forum WinDev
    Réponses: 6
    Dernier message: 26/08/2014, 11h39
  2. affecter aux lignes d'une JTable des noms
    Par mouned dans le forum Composants
    Réponses: 1
    Dernier message: 04/02/2010, 13h09
  3. ajout des lignes a une jtable
    Par totomimi dans le forum Composants
    Réponses: 1
    Dernier message: 24/06/2009, 16h26
  4. afficher des entêtes pour les lignes d'une jtable
    Par minanoun dans le forum Composants
    Réponses: 4
    Dernier message: 13/04/2009, 02h14
  5. [Débutant] Colorer une ligne dans une Jtable
    Par flora32 dans le forum Composants
    Réponses: 3
    Dernier message: 11/01/2009, 13h47

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