SelectionListener в SWT Combo - PullRequest
       17

SelectionListener в SWT Combo

0 голосов
/ 01 октября 2018

В настоящее время у меня есть комбо, в котором пользователь может выбирать различные параметры заголовка для применения к тексту.Проблема, с которой я сталкиваюсь, заключается в том, что прослушиватель выбора запускается каждый раз, когда пользователь перемещается по списку с помощью клавиш со стрелками.

Я обнаружил, что widgetDefaultSelected позволяет вам ждать определенного подтверждения, часто нажимая клавишуКлавиша «Ввод», прежде чем будет сделан выбор.

public ComboBuilder add(String text, Consumer<TypedEvent> onSelect) {
    widget.add(text);
    final int index = widget.getItemCount() - 1;

    widget.addSelectionListener(new SelectionAdapter(){
        @Override
        public void widgetDefaultSelected(SelectionEvent e){
            if (widget.getSelectionIndex() == index) {
                onSelect.accept(e);
            }
        }
    });

    return this;
}

Это останавливает выбор, но затем пользователю приходится дважды нажимать «Ввод» или щелкнуть мышью + «Ввод».Как правильно обходить выделение Combo (с помощью клавиатуры), не выполняя эти дополнительные действия при выделении?

...