Java 确定itemListener中JCheckBox的标识
我有4个复选框,用户可以为其所需设置选择或取消选择它们,但是,程序要求至少选中1个复选框,以便为用户生成所需信息。如果用户取消选中最后一个剩余的复选框,我希望程序为他们重新检查,但为了做到这一点,我需要获得他们选中的最后一个复选框,我如何确定他们在itemListener中选中了哪个特定的复选框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){
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();
工作得很有魅力。每次我搜索某个东西时,如果复选框被选中,它会给我结果,而不是如何创建这样的引用。感谢您的快速解决方案!