Java SWT: как вызвать ModifyListener через исходный код? - PullRequest
0 голосов
/ 09 июня 2010

Я прикрепил ModifyListener к Combo коробке, и она работает нормально. Но как мне запустить его через исходный код? Есть ли лучший способ, чем этот?:

int selected = myCombo.getSelectionIndex();
myCombo.select(selected + 1);
myCombo.select(selected);

1 Ответ

7 голосов
/ 09 июня 2010

Программный запуск ModifyEvent для выполнения какого-либо обновления графического интерфейса (который, я полагаю, именно то, что вы пытаетесь сделать) - не очень хороший дизайн.

Лучше разделить функциональность, которую вы хотите вызватьв отдельную функцию и вызывать ее напрямую.Примерно так:

private void doSomething() {
  // TODO: Something!
}

....

myCombo.addModifyListener(new ModifyListener(){

public void modifyText(ModifyEvent arg0) {
  doSomething();
}});

doSomething();

Любые аргументы, которые необходимо предоставить методу doSomething (), должны быть доступны без ModifyEvent.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...