如何在java GUI中检查复选框的状态?

如何在java GUI中检查复选框的状态?,java,user-interface,checkbox,Java,User Interface,Checkbox,我在JavaGUI中有大约200个复选框。现在,我想得到用户选中的所有复选框的列表 我可以这样做: jCheckBox1.isSelected(); 但我不想为200个复选框写这行。有没有办法通过for循环来实现这一点 所有复选框的名称都类似于jCheckBox1、jCheckBox2、jCheckBox3、jCheckBox4。。。jCheckBox200好吧,如果你的复选框在一个数组中。。。你可以做一个循环 JCheckBox[] myBoxes = new JCheckBox[200];

我在JavaGUI中有大约200个复选框。现在,我想得到用户选中的所有复选框的列表

我可以这样做:

jCheckBox1.isSelected();
但我不想为200个复选框写这行。有没有办法通过for循环来实现这一点


所有复选框的名称都类似于jCheckBox1、jCheckBox2、jCheckBox3、jCheckBox4。。。jCheckBox200

好吧,如果你的复选框在一个数组中。。。你可以做一个循环

JCheckBox[] myBoxes = new JCheckBox[200];

//Some creation stuff here

for (int i=0; i<myBoxes.length; ++i) {
   if (myBoxes[i].isSelected()) {
       //Do stuff!
   }
}
JCheckBox[]mybox=新的JCheckBox[200];
//这里有一些创造的东西

对于(int i=0;i嗯,我应该说什么

好的,您应该从使用数组来保存所有复选框开始,这样您就可以在其中循环

如果太晚了,您可以通过循环选择该容器上的所有元素(仅当所有复选框都在同一容器上时才起作用)。类似于“
jPanel1.getComponents()
”,然后循环它们,只查看哪个是复选框


无论如何,我认为,你应该把所有这些都放在一个数组中,避免自己陷入一片混乱。

你真的应该把它们放在一个数组或集合中,这样你就可以循环它们了

List<JCheckBox> allCheckBoxes = new ArrayList<JCheckBox>()
allCheckboxes.add(new JCheckBox());
我建议在继续之前阅读Java数组和集合


不。它们不在一个数组中。实际上GUI代码是一个生成的代码,所以我不能更改该代码。哦,这太残酷了。如果你真的很懒,你可以通过循环反射来做到这一点……但是另一种方法是创建一个方法来处理复选框逻辑,只需调用handleCheckbox(复选框1)…那样的话,只有handleCheckbox方法会被写上百万次。你的答案也是被接受的答案,但我只能将一个答案标记为被接受的答案。对此表示抱歉,但非常感谢你的回答。
boolean allSelected = true;
for(Component component : myPanel.getComponents()) {
  if(component instanceof JCheckBox) {
    allSelected &= ((JCheckBox)component).isSelected();
  }
}