В настоящее время у меня есть комбо, в котором пользователь может выбирать различные параметры заголовка для применения к тексту.Проблема, с которой я сталкиваюсь, заключается в том, что прослушиватель выбора запускается каждый раз, когда пользователь перемещается по списку с помощью клавиш со стрелками.
Я обнаружил, что 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 (с помощью клавиатуры), не выполняя эти дополнительные действия при выделении?