无法在JFace对话框中的ListViewer中获取所选项目

时间:2018-05-23 08:47:37

标签: jface rcp

我使用Windows Builder创建了一个继承自JFace Dialog的对话框类。在那里,我添加了一些控件,包括一个按钮和一个JFace ListViewer。在按钮的widgetSelected()功能中,我可以在ListViewer中找到所选项目。但在`okPressed()中,我无法得到它。我不知道为什么。你能帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果要访问okPressed中的UI元素,则必须在调用super.okPressed()之前执行此操作,因为这将关闭对话框并处理控件。如下所示:

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

  // TODO deal with selection

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

或者,在调用widgetSelected时保存选择。