【问题标题】:Cannot get the selected item in a ListViewer in a JFace Dialog无法在 JFace 对话框的 ListViewer 中获取所选项目
【发布时间】:2018-11-02 04:11:30
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: jface rcp


    【解决方案1】:

    如果您想访问 okPressed 中的 UI 元素,您必须在调用 super.okPressed() 之前这样做,因为这将关闭对话框并释放控件。所以像:

    @Override
    protected void okPressed()
    {
      IStructuredSelection sel = viewer.getStructuredSelection();
    
      // TODO deal with selection
    
      // Call super.okPressed() last
      super.okPressed();
    }
    

    当您的 widgetSelected 被调用时,或者保存选择。

    【讨论】:

    • 谢谢!这就是答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多