Retourner la couleure d'une cellule d'un JTable

noussa1985 Messages postés 31 Date d'inscription jeudi 14 juin 2007 Statut Membre Dernière intervention 20 avril 2008 - 19 avril 2008 à 02:30
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 19 avril 2008 à 06:59
Bonsoir,
Dans mon code je cherche à retourner les couleurs de chaque cellule de mon JTable,j'ai cherché dans les tutoriols mais j'ai pas trouvé une reponse.
 SVP si quelcun a une reponse me dit.
Bonne nuit

2 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
19 avril 2008 à 06:55
Salut:

J'espère avoir bien compris ta question.

public Color[][] getColors() {
    Color[][] colors = new Color[table.getRowCount()][table.getColumnCount()];
       
    for (int row = 0; row < table.getRowCount(); ++row) {
        for (int column = 0; column < table.getColumnCount(); ++column) {
            TableCellRenderer cellRenderer = table.getCellRenderer(row, column);
            Component comp = cellRenderer.getTableCellRendererComponent

                                 (table, null, true, false, row, column);
            colors[row][column] = comp.getBackground();
            }
        }
    return colors;
}
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
19 avril 2008 à 06:59
Salut:

J'ai fait des tests, donc j'ai oublié de remettre le paramètre isSelected de la méthode getTablCellRendererComponent à false.

Ceci recupère les couleurs des cellules lorsqu'elles sont non séléctionnées et n'ont pas le focus.

public Color[][] getColors() {
    Color[][] colors = new Color[table.getRowCount()][table.getColumnCount()];
       
    for (int row = 0; row < table.getRowCount(); ++row) {
        for (int column = 0; column < table.getColumnCount(); ++column) {
            TableCellRenderer cellRenderer = table.getCellRenderer(row, column);
            Component comp = cellRenderer.getTableCellRendererComponent
                                 (table, null, false, false, row, column);
            colors[row][column] = comp.getBackground();
            }
        }
    return colors;
0
Rejoignez-nous