天天看点

java事件机制 fire,java – 代码中的Fire选择事件

我正在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侦听组合框的文本字段中的更改,这意味着它会对选择引起的文本更改做出反应.这也意味着如果该文本被其他路径(例如,组合文本字段中的用户条目)更改,则会触发它.

记住这种行为,ModifyListener可能是一个选项.

标签:java,eclipse,events,selection,rcp

来源: https://codeday.me/bug/20190625/1288390.html