首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rcp ComboViewer valueChanged

rcp ComboViewer valueChanged
EN

Stack Overflow用户
提问于 2010-11-27 16:22:58
回答 1查看 1.3K关注 0票数 0

如果combobox中的值发生变化,如何在comboviewer中触发事件?不是每个选择都触发(addSelectionChangedListener)。我只想触发一个事件,如果当前选择了不同的值,而不是相同的值。

例如: combobox,value {1,2,3}。我设置为1。当我打开combobox并单击1时,它不会触发事件。但当我点击2或3时,它将触发事件。类似html的东西,它只触发事件,只是事件改变了。我已经用comboViewer.getCombo().addMofidyListener测试过了。但情况与上面的selectionChangedListener相同(在组合框中单击相同的值总是会触发事件)。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-07-03 21:24:07

ComboViewer本身不能做到这一点。尝试编写一个记住旧值的选择侦听器。

代码语言:javascript
复制
abstract class CleverSelectionChangedListener implements ISelectionChangedListener {

    private Object _oldSelection;

    public void selectionChanged(SelectionChangedEvent event) {
        Object newSelection = ((IStructuredSelection) event.getSelection()).getFirstElement();
        if (newSelection != _oldSelection) {
            selectionReallyChanged(event);
            _oldSelection = newSelection;
        }
    }
    public abstract void selectionReallyChanged(SelectionChangedEvent event);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4290734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档