Bonjour à tous,
J'ai fixé la propriété du UIManager pour alterner la couleur des lignes d'un JTable grâce à :
Je redéfini le rendu de certaines cellules grâce à un TableCellRenderer qui hérite d'un JLabel comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part UIManager.put("Table.alternateRowColor", new Color(240, 240, 240));
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.
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
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; } }
Çà 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
Partager