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