确定itemListener中的JCheckBox的标识

问题描述

我有4个复选框,用户可以选择或取消选择它们以进行所需的设置,但是,该程序需要至少选中1个复选框才能为用户生成所需的信息。如果用户取消选中最后剩余的复选框,则我希望程序为他们重新选中它,但是为此,我需要获取他们选中的最后一个复选框,我该如何确定他们在itemListener?

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();
    }
}

解决方法

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

getSource()的{​​{1}}方法将包含复选框:

ItemEvent