如何使用复选框项创建组合框?

时间:2014-08-27 16:07:09

标签: java combobox

Hello所有Java开发人员我用java开发了一个简单的应用程序

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Klass {
public static void main(String[] args) {




JFrame frame = new JFrame("My Frame");

//****************** Basic Configuration *****************//
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
//*********************************************************//

JPanel pan = new JPanel();

JComboBox cmb = new JComboBox();

cmb.addItem("Worker 1");
cmb.addItem("Worker 2");
cmb.addItem("Worker 3");
cmb.addItem("Worker 4");

pan.add(cmb);
frame.add(pan);

frame.setVisible(true);


}} 

但我想要的是将组合框项目显示为复选框对象,我想一次选择多个工作者。请帮助我提出建议

3 个答案:

答案 0 :(得分:0)

您需要使用自定义渲染器创建组合框。查看Oracle的官方文档表单:http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html

答案 1 :(得分:0)

您必须制作自定义单元格渲染器。通过实现ListCellRenderer。

答案 2 :(得分:-1)

你需要的是JCheckBox,而不是JComboBox。

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Klass {
    public static void main(String[] args) {

        JFrame frame = new JFrame("My Frame");

        // ****************** Basic Configuration *****************//
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        // *********************************************************//

        JPanel pan = new JPanel();

        JCheckBox cmb1 = new JCheckBox("Worker 1");
        JCheckBox cmb2 = new JCheckBox("Worker 2");
        JCheckBox cmb3 = new JCheckBox("Worker 3");
        JCheckBox cmb4 = new JCheckBox("Worker 4");

        pan.add(cmb1);
        pan.add(cmb2);
        pan.add(cmb3);
        pan.add(cmb4);
        frame.add(pan);

        frame.setVisible(true);

    }
}