TableCellRenderer et couleur alternée des lignes d'un JTable
Bonjour à tous,
J'ai fixé la propriété du UIManager pour alterner la couleur des lignes d'un JTable grâce à :
Code:
UIManager.put("Table.alternateRowColor", new Color(240, 240, 240));
Je redéfini le rendu de certaines cellules grâce à un TableCellRenderer qui hérite d'un JLabel comme ceci :
Code:
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
| public class ComboBoxRenderer extends JLabel implements TableCellRenderer {
@SuppressWarnings("unused")
@Override
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
super.setText(((JComboBox) value).getSelectedItem().toString());
if (isSelected) {
super.setBackground(table.getSelectionBackground());
super.setForeground(table.getSelectionForeground());
}
else {
super.setBackground(table.getBackground());
super.setForeground(table.getForeground());
}
return this;
}
} |
En faisant ainsi ou même sans redéfinir les couleurs du texte et du fond, je perds l'alternance de couleur de ligne sur les cellules concernées, dont le fond reste blanc.
Çà ne change rien non plus si je fais un setOpaque(false); sur le JLabel.
Savez-vous comment faire pour corriger ce problème ?
Merci d'avance ;)