Невозможно получить выбранный элемент в ListViewer в диалоге JFace - PullRequest
0 голосов
/ 23 мая 2018

Я создал класс диалога, унаследованный от JFace Dialog с помощью Windows Builder.В этом я добавил некоторые элементы управления, включая кнопку и JFace ListViewer.В функции кнопки widgetSelected() я могу выбрать выбранный элемент в ListViewer.Но в `okPressed () я не могу получить это.Я не знаю почему.Вы можете мне помочь?

Спасибо!

1 Ответ

0 голосов
/ 23 мая 2018

Если вы хотите получить доступ к элементам пользовательского интерфейса в okPressed, вы должны сделать это перед вызовом super.okPressed(), потому что это закроет диалог и избавится от элементов управления.Так что-то вроде:

@Override
protected void okPressed()
{
  IStructuredSelection sel = viewer.getStructuredSelection();

  // TODO deal with selection

  // Call super.okPressed() last
  super.okPressed();
}

В качестве альтернативы сохраните выделение при вызове вашего widgetSelected.

...