Средства чтения с экрана и добавление флажка в группу кнопок с сохранением возможности множественного выбора

Чтобы сделать графический интерфейс доступным для программ чтения с экрана, флажки должны принадлежать к группе кнопок. Однако, если вы хотите разрешить одновременную установку нескольких флажков, вы не можете добавить их в javax.swing.ButtonGroup, поскольку включение одной из этих кнопок отключает все остальные кнопки в группе.

Есть ли какой-либо другой тип «группы кнопок», в который вы должны добавить флажки, чтобы сделать графический интерфейс доступным для программ чтения с экрана?


person Paul Reiners    schedule 29.10.2012    source источник
comment
Я думаю, что это невозможно, нужно создавать собственную логику, собственную группу кнопок.   -  person mKorbel    schedule 29.10.2012


Ответы (1)


Создайте новый тип 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);
    }
person Mordechai    schedule 29.10.2012