java中的复选框数组

时间:2011-04-04 16:40:06

标签: java checkbox

我想要有6个复选框,并在按下按钮后做一些事情你有一个例子吗?

还可以使用一系列复选框吗?

我想避免:

Checkbox cb1 = new Checkbox("A");
Checkbox cb2 = new Checkbox("B");

我正在做类似的事情:

 JPanel panel = new JPanel();
 JFrame frame = new JFrame("the title");
 final JTextArea txt = new JTextArea(20, 30);
 Button boton = new Button( "DO");
 panel.add(txt);
 panel.add(boton);
 frame.add(panel);
 frame.add(panel);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(500, 500);
 frame.setVisible(true);
 boton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            txt.setText("");

            /*
            How would be the logic of array of checkboxes

            if checbox[0] is active  do action 0
            if checbox[1] is active  do action 1
            if checbox[2] is active  do action 2
            if checbox[3] is active  do action 3
            if checbox[4] is active  do action 4
            if checbox[5] is active  do action 5

            if checbox[0] and checbox[1] is active do action 6
            if checbox[0] and checbox[2] is active do action 7
            if checbox[0] and checbox[3] is active do action 8
            etc... 
            */ 



       }
    });

2 个答案:

答案 0 :(得分:9)

您可以这样做:

    List<Checkbox> checkboxes = new ArrayList<Checkbox>();
    String labels[] = {"A", "B", "C", "D", "E", "F"};
    for (int i = 0; i < labels.length; i++) {
        Checkbox checkbox = new Checkbox(labels[i]);
        checkboxes.add(checkbox); //for further use you add it to the list
    }

然后List在ActionListener中使用它来引用复选框。如果您愿意,也可以使用数组。

答案 1 :(得分:5)

是的,有一个JCheckBox数组,例如:

JCheckBox[] checkBoxes = {new JCheckBox("1"), new JCheckBox("2"), new JCheckBox("3"), new JCheckBox("4"), new JCheckBox("5"), new JCheckBox("6")};

JCheckBox[] checkBoxes = new JCheckBox[6];

然后你必须遍历checkBoxes.length并实例化它(如果你没有)并通过addItemListener()添加你的监听器,最后将每个复选框添加到你的JFrame

我希望这会有所帮助。