如何在工作台不可用时获取ICommandService对象

时间:2013-06-12 08:55:32

标签: java eclipse-rcp rcp

我正在尝试使用以下代码获取commandService对象。

 IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 return (ICommandService) window.getService(ICommandService.class);

但在其中一个场景中,我们不会有工作台。

如果工作台不可用,如何获取CommandService对象。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您确定工作台不可用吗?或者只是 getActiveWorkbenchWindow()返回null(例如从非UI线程调用时)。如果是这种情况,您可以在没有活动窗口的情况下获取命令服务:

ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);