Java 对JSwing组件使用ArrayList
我的代码运行了很长时间,基本上每个组件都使用不同的索引,因此我决定将它们全部放在所需类型的ArrayList中。Java 对JSwing组件使用ArrayList,java,arraylist,checkbox,Java,Arraylist,Checkbox,我的代码运行了很长时间,基本上每个组件都使用不同的索引,因此我决定将它们全部放在所需类型的ArrayList中。 我的代码应该根据选中的复选框启用/禁用JSpinner 我编了一个这样的代码: private static void updateGUI(int index){ boolean enabl = checkBoxes.get(index).isEnabled(); System.out.println(enabl); spinners.get(index).
我的代码应该根据选中的复选框启用/禁用JSpinner 我编了一个这样的代码:
private static void updateGUI(int index){
boolean enabl = checkBoxes.get(index).isEnabled();
System.out.println(enabl);
spinners.get(index).setEnabled(enabl);
//more irrelevant stuff done here
}
因此,我只给出used复选框的索引,它应该相应地更新JSpinner。我放置了一行来输出复选框的当前值,当它触发函数时,但它总是输出true
所有复选框都正确地放置在ArrayList中,我找不到错误。感谢您的帮助 我想你的问题是另一种性质的 如果您想知道是否选中了复选框,您应该拨打 而不是ISENABLE
或者,您也可以使用,在复选框(取消)选中时收到通知
isEnabled()
函数不会说明是否选中了复选框。它表示复选框是否处于活动状态。尝试isSelected()
方法。似乎是一种可行的方法。怎么了?你到底在问什么?你可能应该使用isSelected
而不是isEnabled
。阅读文档。我看到您使用了boolean enabl=checkbox.get(index.isEnabled()代码>,如果此复选框已启用,而未选中属性,则始终为真私有静态无效更新GUI(int index)
Ummm。。。您是否将微调器/复选框存储在静态数组中?真正地那么当支撑他们的窗户被摧毁时会发生什么呢?@Adriancolomychi Eyy。。。恨我;我知道。。。我必须承认,我对java的静态/非静态方面的研究还不太深入(在学校之前,我一直使用Pascal),现在我通常使用静态类/函数在其他类中导出代码,以获得更好的可读性。