为了使屏幕阅读器可以访问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);
    }

08-18 11:00