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] Changer la couleur d'une ligne


Sujet :

Composants Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut [JTable] Changer la couleur d'une ligne
    Bonjour,
    J'ai crée une JTable qui est alimentée par un fichier csv. J'ai simplement 2 colonnes (pour le moment) et le nombre de ligne est variable. Ce que je souhaiterais faire c'est que lors de la création d'une ligne de ma JTable celle ci change de couleur en fonction de la valeur d'une des colonnes.
    Par exemple: dans mon fichier csv :
    pour la 1ère ligne j'ai: rouge;toto
    pour la 2ème ligne j'ai: bleu;tutu
    ....
    Je parcours ce fichier csv afin de créer ma JTable. Lorsqu'on "tombe" sur la 1ère ligne j'ai voudrais que dans ma JTable cette ligne apparaisse en rouge....

    Voici une partie de mon 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
    JTable1.setModel( df );
    String csvString;                                     
    BufferedReader buff= new BufferedReader(new FileReader (file_reception));
                while ((csvString =buff.readLine() )!= null){
                       	StringTokenizer tokenizer = new StringTokenizer(csvString, ";");
                       	String coul= tokenizer.nextToken(); 
                       	String nom= tokenizer.nextToken(); 
     
                       	Vector v = new Vector( 10 );
              		v.addElement( coul);
                       	v.addElement( nom);
                       	df.addRow( v );                   	                   		
                       	}
     
                buff.close();
    Comment puis je faire?

    D'avance merci

    [ Modéré par Viena ]
    Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.

    Les Règles du Forum

    [ Sujet déplacé depuis le forum java par Viena ]
    Les Règles du Forum

  2. #2
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Il faut définir un TableCellRenderer qui affiche ta ligne en rouge.
    Quelque chose du style :
    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
     
    class MyRenderer extends DefaultTableCellRenderer {
    Component getTableCellRendererComponent(JTable table,
                                            Object value,
                                            boolean isSelected,
                                            boolean hasFocus,
                                            int row,
                                            int column)  {
        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        if (row == 0) {
            this.setForeground(Color.RED);
        }
        return this;
    }
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci pour ton aide. J'ai adapté le TableCellRenderer à mon code et çà fonctionne très bien.

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

Discussions similaires

  1. JTable - Changer la couleur d'une ligne MODIFIEE
    Par johncrom dans le forum Composants
    Réponses: 2
    Dernier message: 04/03/2010, 17h56
  2. Changer la couleur d une ligne de tableau au survol
    Par logica dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/07/2005, 11h57
  3. Réponses: 7
    Dernier message: 28/06/2005, 11h53
  4. Réponses: 8
    Dernier message: 14/05/2004, 11h18
  5. [VB6]Changer la couleur d'une ligne d'un ListView
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/03/2003, 17h02

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