[JComboBox][JCheckBox]Mélanger les deux
Bonjour tout le monde.
Je voudrais savoir comment faire pour insérer des JCheckbox dans une JCombobox.
Codes essayés sans succès :
Code:
1 2 3 4 5 6
| JComboBox dropDownList = new JComboBox();
for (int j=0;j<nominalAttributeValues[attributeIndex].size();j++){
// attributeList.add(nominalAttributeValues[attributeIndex].get(j).toString());
JCheckBox checkBox = new JCheckBox(nominalAttributeValues[attributeIndex].get(j).toString());
dropDownList.addItem(checkBox);
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Vector attributeList=new Vector();
// JComboBox dropDownList = new JComboBox();
for (int j=0;j<nominalAttributeValues[attributeIndex].size();j++){
attributeList.add(nominalAttributeValues[attributeIndex].get(j).toString());
// JCheckBox checkBox = new JCheckBox(nominalAttributeValues[attributeIndex].get(j).toString());
// dropDownList.addItem(checkBox);
}
// dropDownList.setRenderer(new DefaultListCellRenderer());
DropDownListRenderer dropDownListRenderer=new DropDownListRenderer();
JComboBox dropDownList = new JComboBox(attributeList);
dropDownList.setPreferredSize(new Dimension(200,130));
dropDownList.setRenderer(dropDownListRenderer); |
avec ce CellListRenderer qui extends JLabel et implements ListCellRenderer
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
| public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
setIcon(uncheckedIcon);
if(cellHasFocus)
isSelected=true;
if (isSelected){
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
// checkBox.setSelected(true);
setIcon(checkedIcon);
}else{
setBackground(list.getBackground());
setForeground(list.getForeground());
// checkBox.setSelected(false);
// setIcon(uncheckedIcon);
}
setText(value.toString());
return this;
} |
Par avance, merci.