4

コンボボックスを含む 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);

イベントは発生していません。この場合、独自のリスナーを作成する必要がありますか?

4

2 に答える 2

4

selectコンボ ボックスのメソッドは、選択を変更するときにタイプのイベントを送信するため、 の代わりに をSWT.Modify使用できます。ModifyListenerSelectionListener

実際には、ModifyListenerはコンボ ボックスのテキスト フィールドの変更をリッスンします。これは、選択によって引き起こされるテキストの変更に反応することを意味します。これはまた、そのテキストが他のパス (コンボ テキスト フィールドのユーザー エントリなど) によって変更された場合に発生することも意味します。

その動作を念頭に置いて、 aModifyListenerがオプションになる場合があります。

于 2012-09-22T00:24:31.623 に答える