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);
			}
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);
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
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.