rt
用JComboBox可以实现么,下拉列表中复选后,选中的画面上排在一起显示
或者是swing的其他组件有这个功能,因为下拉显示的数据不定,而且比较多,所以用JList的话
画面布局不方便,而且实际操作的时候也不方便,
请各位大大指点指点

解决方案 »

  1.   

    jtree可以,每个叶子节点前面加个checkbox,选中后checkbox选中,java核心技术有这个例子好像
      

  2.   

    有Jtree的话,画面的变化就是比较大了,现在客户的要求其实就是能够对下拉列表可以多选
    而不是要对画面进行变更。
    所以想能不能通过修改一下 JComboBox的Renderer方法这种类似的实现,从而从外观上面看,画面是没有发生变化
      

  3.   

    //无法实现这样的功能,建议你使用JList很方便的实现。
    //按住Ctrl可以多选。
    import java.awt.BorderLayout;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.ListSelectionModel;
    import javax.swing.SpringLayout;public class MutiComboBox extends JFrame
    {
    private JList list;
    private JComboBox comboBox;
    private SpringLayout springLayout;
    /**
     * Launch the application
     * @param args
     */
    public static void main(String args[])
    {
    try
    {
    MutiComboBox frame = new MutiComboBox();
    frame.setVisible(true);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    } /**
     * Create the frame
     */
    public MutiComboBox()
    {
    super();
    springLayout = new SpringLayout();
    getContentPane().setLayout(springLayout);
    setBounds(100, 100, 500, 375);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); comboBox = new JComboBox();
    comboBox.setModel(new DefaultComboBoxModel(new String[] {"画面布局不方便", "而且实际操作的", "时候也不方便"}));
    getContentPane().add(comboBox);
    springLayout.putConstraint(SpringLayout.SOUTH, comboBox, 85, SpringLayout.NORTH, getContentPane());
    springLayout.putConstraint(SpringLayout.EAST, comboBox, 245, SpringLayout.WEST, getContentPane());
    springLayout.putConstraint(SpringLayout.NORTH, comboBox, 60, SpringLayout.NORTH, getContentPane());
    springLayout.putConstraint(SpringLayout.WEST, comboBox, 80, SpringLayout.WEST, getContentPane()); String[] data = {"one", "two", "three", "four"};
    list = new JList(data);
    list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    getContentPane().add(list);
    springLayout.putConstraint(SpringLayout.SOUTH, list, 310, SpringLayout.NORTH, getContentPane());
    springLayout.putConstraint(SpringLayout.EAST, list, 0, SpringLayout.EAST, comboBox);
    springLayout.putConstraint(SpringLayout.NORTH, list, 190, SpringLayout.NORTH, getContentPane());
    springLayout.putConstraint(SpringLayout.WEST, list, 0, SpringLayout.WEST, comboBox);
    //
    }
    }
      

  4.   

    JList 考虑过,但存在这种情况,下拉列表中数据比较多
    是从db取出的数据,有几十条的数据,如果用JList的话,画面布局的时候会十分难看
    现在再看能不能重写底层,
    思路是:
    JComboBox点击后,出来的是popmenu其实就是一个JList,所以对于这个JList,让他可以实现复选功能,然后在重写 JComboBox 在用户选好后显示的问题对于换一个popmenu感觉应该可以,但是接下来的功能,能不能实现,可行性如何,确实没有把握,
    还请各位指点指点
      

  5.   

    没做过,一个思路
    设置JList的CellRenderer,为checkbox形式的,类适于树节点的checkbox选择
      

  6.   

    thx,先去试试看,有问题再请教
      

  7.   

    jtree应该可以哦,^_^
    楼主的问题解决没?
    有更好的方法贴出来哈
      

  8.   

    JComboBox里面能不能加入JCheckBox?
      

  9.   

    "设置JList的CellRenderer" 正解