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