comment créer jcombobox avec jcheck boîte et la sélection multiple

Je veux créer JComboBox avec des cases à cocher et de sélection multiple . j'ai créé une liste de case à cocher après avoir rendu la jlist . Je ne sais pas comment la rendre avec la jcombobox . Ou est-il possible de faire jlist comme dans la liste déroulante comme zone de liste déroulante .
pour jlist rendu je suis en utilisant le code suivant

  DefaultListModel listModel = new DefaultListModel();
    ListCheckBox li= new ListCheckBox(listModel);
    JScrollPane jsp= new JScrollPane(li);
    add(jsp);

    listModel.add(0,new JCheckBox("Other Court"));

    listModel.add(0,new JCheckBox("Tribunal Court"));

    listModel.add(0,new JCheckBox("High Court"));
   listModel.add(0,new JCheckBox("Supreme Court"));

ListCheck classe de la Boîte est comme suivant

 import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class ListCheckBox extends JList
{
protected static Border noFocusBorder =
new EmptyBorder(1, 1, 1, 1);
public ListCheckBox(DefaultListModel model)
{
super(model)  ;
setCellRenderer(new CellRenderer());
addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
int index = locationToIndex(e.getPoint());
if (index != -1) {
JCheckBox checkbox = (JCheckBox)
getModel().getElementAt(index);
checkbox.setSelected(
!checkbox.isSelected());
repaint();
}
}
}
);
setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
protected class CellRenderer implements ListCellRenderer
{
public Component getListCellRendererComponent(
JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus)
{  JCheckBox checkbox = (JCheckBox) value;
checkbox.setBackground(isSelected ?
getSelectionBackground() : getBackground());
checkbox.setForeground(isSelected ?
getSelectionForeground() : getForeground());
checkbox.setEnabled(isEnabled());
checkbox.setFont(getFont());
checkbox.setFocusPainted(false);
checkbox.setBorderPainted(true);
checkbox.setBorder(isSelected ?
UIManager.getBorder(
"List.focusCellHighlightBorder") : noFocusBorder);
return checkbox;
}
}
}
  • Je vais être en attente d'un commentaire à votre question -> ne jamais mettre JComponents pour les moteurs de rendu dans les Swing, avez-vous essayé d'utiliser le moteur de Rendu avec une valeur Booléenne, comme l'ont démontré les Oracles JTables tutoriel, de ne pas tâche facile de créer un Modifiable JComboBox qui réagissent à right_mouse_event???(peut-être) pour le Rédacteur en JComboBox, JList par défaut de ne jamais le nid des Objets Modifiables, utilisez JTable avec une colonne sans JTableHeader au lieu de cela, vraiment aucune idée de comment résoudre ça
InformationsquelleAutor adesh singh | 2013-04-03