【发布时间】:2017-01-08 19:01:32
【问题描述】:
我有一个小面板,其中有 3 个JComboBox 和 2 个JCheckBox,属于JButtonGroup。我正在尝试检查面板表单是否有效并且所有必填字段都没有空选择,因此我创建了一个方法。
public static boolean isValid(List<Component> aComponent){
boolean isValid = false ;
for(Component c: aComponent){
if(c instanceof JComboBox){
isValid = (((JComboBox) c).getSelectedIndex() > -1);
JOptionPane.showMessageDialog(null,"ComboBox returned: "+isValid);
}else if(c instanceof JCheckBox){
isValid = ( ((JCheckBox) c).isSelected() );
JOptionPane.showMessageDialog(null,"Checkbox returned: "+isValid);
}else if(c instanceof JTextField){
isValid = ((JTextField) c).getText().isEmpty();
JOptionPane.showMessageDialog(null,"TextField returned: "+isValid);
}
}
return isValid;
}
问题是,我只需要为学生类型选择一个JCheckbox。
我需要能够检查按钮组是否有至少 1 JChecBox 被选中。
以下块将返回 false,因为 Transferee 和 New 都是 JCheckBox 的实例。但我只需要检查 1 个JCheckBox 即可使表格有效。
如何使用我的isValid() 方法检查按钮组中是否至少检查了 1 个?
【问题讨论】:
标签: java swing jcheckbox buttongroup