ListCellRenderer avec JCheckbox
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.
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;
}
}
} |
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..
Comment faire pour pouvoir cocher ces cases ?
Merci