java - 从代码中触发选择事件

标签 java eclipse events selection rcp

我正在 eclipse 中编写一个包含组合框的 RCP 应用程序,在选择其中的任何项目时,将触发一个选择事件,并且一些随机代码会起作用。监听器看起来像这样:

randomComboBox.addSelectionListener(new SelectionListener(){

    @Override
    public void widgetSelected(SelectionEvent e) {
        // random code
    }

    @Override
    public void widgetDefaultSelected(SelectionEvent e) {
        // TODO Auto-generated method stub
    }

});

我的问题是:是否可以从代码中触发事件?例如,如果我添加:

randomComboBox.select(0);

没有事件被触发。在这种情况下,我是否必须编写自己的监听器?

最佳答案

组合框的 select 方法在更改选择时发送 SWT.Modify 类型的事件,因此您可以使用 ModifyListener 而不是 SelectionListener

实际上,ModifyListener 监听组合框文本字段中的变化,这意味着它会对由选择引起的文本变化使用react。这也意味着如果该文本被其他路径更改(例如,组合文本字段中的用户条目),它将被触发。

记住这种行为,ModifyListener 可能是一种选择。

关于java - 从代码中触发选择事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12539106/

相关文章:

java - 在 Java 中限制文件访问

java - 如何修改字段组保存功能?

c - 为什么我的程序结合了两个 printf 命令?

javascript - jQuery/JavaScript : Change onclick of an achor tag

c# - 我可以在不在 C# 中进行强耦合的情况下使对象的生命周期依赖于另一个对象吗?

Java从 "addActionListener"调用 "FocusListener"

java - 一旦从 REST 层抛出异常,@ExceptionHandler 就不会被调用

c++ - Eclipse cdt,基于类接口(interface)C++排序src实现

eclipse - 如何从tomcat服务器路径访问图像

c# - 如何在 C# 中实现取消事件