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 :

comment colorer une case d'un tableau?


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut comment colorer une case d'un tableau?
    Bonsoir,
    j'ai besoin de colorier deux cases de mon tableau
    j'ai lu que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class MonCellRenderer extends DefaultTableCellRenderer
    est la solution...mais comment faire
    merci de m'aider

  2. #2
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !

    voici un exemple qui utilise une classe nommée "couleur" :

    COULEUR : entrée dans une cellule : clic ou Tab ou JTable.requestfocus..
    si la cellule contient g, fond vert - r fond rouge - ni l'un ni l'autre fond blanc

    avoir une classe pour mon CellRenderer :

    public class couleur extends DefaultTableCellRenderer {
    public Component getTableCellRendererComponent (JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column){
    Component cell = super.getTableCellRendererComponent
    (table,value,isSelected,hasFocus,row,column);

    if ((value != null) && (value.equals("g"))) {
    cell.setBackground(Color.GREEN);
    }
    else {
    if ((value != null) && (value.equals("r"))) {
    cell.setBackground(Color.RED);
    }
    else {
    cell.setBackground(Color.white);
    }
    }
    return cell;
    }
    }


    OU colorer la cellule 1,1 en rouge:

    if(row == 1 && column == 1) {
    cell.setBackground(Color.RED);
    }
    else {
    cell.setBackground(Color.WHITE);
    }
    }

    et au démarrage de la frame contenant la table :
    jTable1.setDefaultRenderer(Object.class, new Couleur());
    ça devrait faire...

    PS. Ah zut! j'arrive pas à avoir l'indentation...
    pourtant si je colle nom texte dans le bloc-notes, il est ok

  3. #3
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class MonCellRenderer extends DefaultTableCellRenderer {
     
    	public Component getTableCellRendererComponent(JTable table, Object value,
    			boolean isSelected, boolean hasFocus, int row, int column) {
    		Component cell = super.getTableCellRendererComponent(table, value,
    				isSelected, hasFocus, row, column);
     
    		if (row == 1 && column == 1)
    			cell.setBackground(Color.BLUE);
    		else
    		cell.setBackground(Color.PINK);
    		return cell;
    j'ai essayé ce code pour colorer ma premiere case en bleu mais ça ne marche pas,j'ai toute la ligne qui est coloré en rose

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    saut,

    pour la 1ère case, ce serait plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (row == 0 && column == 0)
    les index commencent par 0

  5. #5
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut

    ça marche...merci Hrech
    tes reponses sont toujours à leur place...
    merci enormement

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

Discussions similaires

  1. comment tester si une case d'un tableau est vide
    Par khadi8 dans le forum Débuter
    Réponses: 7
    Dernier message: 01/05/2013, 09h13
  2. Comment colorer une ligne d'un tableau avec une case à cocher ?
    Par Gdal dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/08/2011, 11h11
  3. case à cocher qui colore une ligne d'un tableau
    Par gastoncs dans le forum IHM
    Réponses: 2
    Dernier message: 14/02/2008, 05h40
  4. Réponses: 0
    Dernier message: 13/02/2008, 12h11
  5. [JTable] comment colorer une case
    Par cladsam dans le forum Composants
    Réponses: 12
    Dernier message: 20/01/2005, 08h14

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