天天看點

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