SWT组合中的SelectionListener

时间:2018-10-01 20:42:27

标签: java swt listener

我目前有一个组合,用户可以在其中选择不同的标题选项以应用于文本。我遇到的问题是,每次用户使用箭头键浏览列表时,都会触发选择侦听器。

我发现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选择(使用键盘)的正确方法是什么?

0 个答案:

没有答案