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

Java 如何在选择对话框中从用户处获取特定视图?,java,swt,eclipse-rcp,jface,Java,Swt,Eclipse Rcp,Jface,当我在FileDialog中时,我想获得特定的视图及其数据。 目前我正在使用代码: IWorkbenchPage workbench = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 如果我使用上述代码,我将获得NPE,因为我当前在文件对话框中,并单击了“保存”按钮。活动窗口是模式对话框,不支持视图 你可能得去 IWorkbench.getWorkbenchWindows() 并浏览窗口列表,以找到

当我在
FileDialog
中时,我想获得特定的视图及其数据。 目前我正在使用代码:

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

如果我使用上述代码,我将获得NPE,因为我当前在
文件对话框中,并单击了“保存”按钮。

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

你可能得去

IWorkbench.getWorkbenchWindows()
并浏览窗口列表,以找到特定的视图


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

这是什么
UserSelectionDialog
?那是你自己写的课吗?这看起来不像EclipseAPI。@rcjsuen:我的意思是这是一个FileDialog。在FileDialog中很难做到这一点。您应该在代码调用文件对话框中执行此操作。如果您试图在工作区中选择内容,则文件对话框可能不是正确的对话框。更详细地解释你想做什么。