Bonjour tout le monde.
Je voudrais savoir comment faire pour insérer des JCheckbox dans une JCombobox.
Codes essayés sans succès :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }avec ce CellListRenderer qui extends JLabel et implements ListCellRenderer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Par avance, merci.
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 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; }
Partager