Salut,
j'ai un petit souci, j'ai fait un cellRenderer qui ne fonctionne pas comme je le veux j'ai dû faire une erreur quelque part mais je ne vois pas où, du coup je suis allé voir des tutos et la javadoc mais j'ai pas trouvé de solution.
Pourtant mon code est ultra simple.
Ce qu'il fait : si le montant est négatif la couleur est rouge seulement quand on sélectionne la cellule.
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 public class Montant_CellRenderer extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ setHorizontalAlignment(SwingConstants.RIGHT); BigDecimal bdMtt = ActionUtils.parsetoBigDecimal(value); setText(value.toString()); if (bdMtt.signum() < 0){ setForeground(Color.red); }else{ setForeground(Color.black); } return this; } }
Du coup j'ai essayé avec les hasFocus et isSelected dans mon if mais au lieu de n'afficher la valeur en rouge quand il est selectionné il affiche tout le temps en noir.
![]()
Partager