【问题标题】:determine identification of a JCheckBox in itemListener在 itemListener 中确定 JCheckBox 的标识
【发布时间】:2020-10-12 03:53:31
【问题描述】:

我有 4 个复选框,用户可以选择或取消选择它们以进行所需的设置,但是,程序至少需要选中 1 个复选框才能为用户生成所需的信息。如果用户取消选中最后一个选中的复选框,我希望程序为他们重新选中它,但为了做到这一点,我需要获取他们选中的最后一个复选框,我该如何确定他们在项目监听器?

private class HandlerClass implements ItemListener {
    public void itemStateChanged(ItemEvent e){
        if (atLeastOneBoxChecked()){
            generationSettings.includeAZLowerCaseChars(azCheck.isSelected());
            generationSettings.includeAZUpperCaseChars(AZCheck.isSelected());
            generationSettings.include09Chars(o9Check.isSelected());
            generationSettings.includeSpecialChars(specialCheck.isSelected());
        } else{
            // reset unchecked box to checked
        }
    }

    public boolean atLeastOneBoxChecked(){
        return azCheck.isSelected() || AZCheck.isSelected() || o9Check.isSelected() || specialCheck.isSelected();
    }
}

【问题讨论】:

    标签: java swing awt jcheckbox itemlistener


    【解决方案1】:

    我该如何确定他们在 itemListener 中选中了哪个特定的复选框?

    ItemEventgetSource() 方法将包含复选框:

    JCheckBox checkBox = (JCheckBox)e.getSource();
    

    【讨论】:

    • 工作就像一个魅力。每次我搜索某些东西时,它都会给我结果,如果复选框被选中,而不是如何创建这样的参考。感谢您的快速解决方案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 2015-01-22
    • 1970-01-01
    相关资源
    最近更新 更多