我目前有一个组合,用户可以在其中选择不同的标题选项以应用于文本。我遇到的问题是,每次用户使用箭头键浏览列表时,都会触发选择侦听器。
我发现widgetDefaultSelected
允许您等待特定的确认,通常在选择之前要按“ Enter”键。
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;
}
这将取消选择,但是现在用户必须两次按“ Enter”键或单击“ +”键。在选择时不必经过这些额外步骤,就能遍历Combo选择(使用键盘)的正确方法是什么?