Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确定itemListener中JCheckBox的标识_Java_Swing_Awt_Jcheckbox_Itemlistener - Fatal编程技术网

Java 确定itemListener中JCheckBox的标识

Java 确定itemListener中JCheckBox的标识,java,swing,awt,jcheckbox,itemlistener,Java,Swing,Awt,Jcheckbox,Itemlistener,我有4个复选框,用户可以为其所需设置选择或取消选择它们,但是,程序要求至少选中1个复选框,以便为用户生成所需信息。如果用户取消选中最后一个剩余的复选框,我希望程序为他们重新检查,但为了做到这一点,我需要获得他们选中的最后一个复选框,我如何确定他们在itemListener中选中了哪个特定的复选框 private class HandlerClass implements ItemListener { public void itemStateChanged(ItemEvent e){

我有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中选中了哪个特定复选框

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();
    }
}
ItemEvent
getSource()
方法将包含以下复选框:

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

工作得很有魅力。每次我搜索某个东西时,如果复选框被选中,它会给我结果,而不是如何创建这样的引用。感谢您的快速解决方案!