Eclipse rcp E4应用中如何关闭Workbench

Eclipse rcp E4应用中如何关闭Workbench,eclipse-rcp,e4,Eclipse Rcp,E4,在EclipseRCP3.7.x中,我使用 PlatformUI.getWorkbench().close(); 关闭工作台 在E4中,有任何关闭工作台的方法(无需单击按钮)或如何在我的代码中获取工作台引用如果您正在使用“纯”E4应用程序,则无法使用3.xorg.eclipse.ui.IWorkbench 但是有一个org.eclipse.e4.ui.workbench.IWorkbench类,它有一个close()方法 您可以使用直接注入将这个工作台类注入到代码中 例如,在命令处理程序中,可

在EclipseRCP3.7.x中,我使用

PlatformUI.getWorkbench().close();
关闭工作台


在E4中,有任何关闭工作台的方法(无需单击按钮)或如何在我的代码中获取工作台引用

如果您正在使用“纯”E4应用程序,则无法使用3.x
org.eclipse.ui.IWorkbench

但是有一个
org.eclipse.e4.ui.workbench.IWorkbench
类,它有一个
close()
方法

您可以使用直接注入将这个工作台类注入到代码中

例如,在命令处理程序中,可以执行以下操作:

@Execute
public void execute(IWorkbench工作台)
{
workbench.close();
}

我在我的应用程序中以这种方式注入IWorkbench@Inject IWorkbench w;但我得到了空指针异常。你在哪里?您只能在E4应用程序的生命周期类中注入应用程序模型知道的东西(部件、处理程序等)。此时可能尚未创建工作台,请等待应用程序启动完成事件,并从IECLipseContextU获取它。非常感谢@greg-449