如何在java GUI中检查复选框的状态?
我在JavaGUI中有大约200个复选框。现在,我想得到用户选中的所有复选框的列表 我可以这样做:如何在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];
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();
}
}