如何从用户获取特定视图是在选择对话框中?

时间:2017-03-14 12:17:02

标签: java swt eclipse-rcp jface

当我在FileDialog时,我希望得到特定的观点及其数据。 目前我正在使用代码:

IWorkbenchPage workbench = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

如果我使用上面的代码,我正在接受NPE,因为我目前在FileDialog并点击了“保存”#39;按钮。

1 个答案:

答案 0 :(得分:3)

活动窗口是模式对话框,不支持视图。

你可能必须得到

IWorkbench.getWorkbenchWindows()

然后通过窗口列表,以便能够找到特定的视图。

但是,这听起来像是一个黑客攻击,因为如果FileDialog需要来自特定视图的内容,为什么不在自己的FileDialog实现的构造函数中提交信息(从FileDialog扩展)?在这种情况下,您不必搜索特定视图,您可以直接使用该实例。