屏幕阅读器并向按钮组添加复选框,同时仍允许多个选择

时间:2012-10-29 16:39:32

标签: java swing accessibility screen-readers buttongroup

要使屏幕阅读器可以访问GUI,复选框应属于按钮组。但是,如果要同时选中多个复选框,则无法将它们添加到javax.swing.ButtonGroup,因为打开“其中一个”按钮会关闭组中的所有其他按钮。

是否还有其他类型的“按钮组”,您应该添加复选框以使屏幕阅读器可以访问GUI?

1 个答案:

答案 0 :(得分:0)

制作一种新的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);
    }