为了使屏幕阅读器可以访问GUI,复选框应属于按钮组。但是,如果要允许同时选择多个复选框,则不能将它们添加到javax.swing.ButtonGroup中,因为“打开”这些按钮之一会关闭组中的所有其他按钮。
是否应该添加其他一些类型的“按钮组”以使屏幕阅读器可以访问GUI?
最佳答案
新建ButtonGroup
类型以允许排除:
public class ExclusiveButtonGroup extends ButtonGroup {
private ArrayList<ButtonModel> exclusives;
public ExclusiveButtonGroup(AbstractButton... exclusives){
for(AbstractButton b : exclusives)
this.exclusives.add(b.getModel);
}
@Override
public void setSelected(ButtonModel model, boolean select) {
if(!exclusives.contains(model))
super.setSelected(model, select);
}