我正在编写一个Java应用程序,它有多个项目可供测试。 但是 - 由于硬件限制,我只能并行测试4个设备。 我想知道 - 在属 - 如何让Java将所选项目的数量限制为仅四个(无论选择哪个项目)? 我正在阅读Java文档,我似乎无法找到答案。
我对Java很新 - 所以请原谅我的无知。 我只需要了解何处/如何开始。
如何限制在Java中选择的复选框的数量?
答案 0 :(得分:5)
如果你正在使用Swing,首先要创建一个JCheckBox []数组并用复选框填充它。然后使用已选中复选框的数量创建ChangeListener和全局变量。将此侦听器添加到所有复选框。在ChangeListener的stateChanged()
方法中,将全局变量增加或减少1.如果变量达到4,则禁用setEnabled(false)的所有复选框,但检查的除外。当您将变量从4减少到3时,请将它们设置为启用。
这是关于ChangeListener的一个很好的例子: http://www.java2s.com/Code/Java/Event/CheckBoxItemListener.htm
答案 1 :(得分:3)
我会创建一个可以保存已启动设备数量的全局变量。
单击复选框时,在其事件处理程序中,如果已选中则添加到变量,如果未选中则添加。
当然,在添加值之前,请先检查该值是否小于5(0 - 4),然后才能检查另一个。
答案 2 :(得分:1)
跟踪所有复选框。在侦听器中的stateChanged()中添加对以下检查的调用:
增加/减少复选框数量的全局计数似乎更有效,但在处理UI时,增益可以忽略不计。我会说最好采取防御措施来避免角落案件和漏洞试图跟踪状态信息,而不仅仅是轮询它。
对于防御性编程,您还需要验证来自UI的输入,以检查复选框的数量是否小于或等于4.