Bonjour,
Je voudrais placer dans une liste une série d'éléments sélectionnables.
Je me suis donc crée un ListCellRenderer qui étend JCheckbox.
Cela fonctionne bien sauf que je ne sais pas cocher/décocher les cases. Elles sont cochées par defaut (normal) et restent cochées..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
30
31
32 public class ListeClassRenderer extends JCheckBox implements ListCellRenderer { private JCheckBox chkBox; private JLabel lbl; /** Creates a new instance of ListeClassRenderer */ public ListeClassRenderer() { setBorderPainted(true); } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if ( cellHasFocus ) setBorder( BorderFactory.createLineBorder(Color.BLUE)); else setBorder( BorderFactory.createLineBorder(Color.WHITE)); if ( value instanceof ListeClassItem ) { ListeClassItem item = (ListeClassItem) value; setText(item.getLibelle()); setSelected(item.isSelected()); setBackground(Color.WHITE); return this; } else { setText("Type non admis"); setEnabled(false); return this; } } }
Comment faire pour pouvoir cocher ces cases ?
Merci
