Bonjour à tous,

J'ai fixé la propriété du UIManager pour alterner la couleur des lignes d'un JTable grâce à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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;
	}
 
}
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