JCheckBoxes数组

时间:2012-10-20 19:08:32

标签: java arrays swing jcheckbox itemlistener

我在JFrame中添加了大约10个复选框,这些是在for循环中添加的,在Array上迭代,代码就像这样

    JFrame f=new JFrame("hello ");
    FlowLayout fl= new FlowLayout();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(300,300);
    f.setVisible(true);
    f.setLayout(fl);

    for (int i=0 ; i<10; i++)
    {

        b[i]=new JCheckBox();
        b[i].setVisible(true);
        b[i].addItemListener(this);
        f.add(b[i]);

    }  /// and so on . 

我的问题是当我实现ItemListener时,我必须访问每个CheckBox,如此     if(b [1] .isSelected()),if(b [2] .isSelected())或者还有其他任何技术可以像循环或类似的东西一样使用.. 提前致谢

2 个答案:

答案 0 :(得分:5)

ItemListener将使用ItemEvent的实例进行调用。此事件有一个源(EventObject#getSource()),它将是触发事件的组件,例如你的JCheckBox

答案 1 :(得分:1)

  

所以这意味着如果我使用100个jcheckBoxes Jbuttons等将会有   100 if if,else或switch条件太重的代码,而且我   已经这样做了,我想要迭代一个循环或一些东西   获得选择项目本身而不是去的类似解决方案   对于b 1,b 2

你可以