java - 当工作台不可用时如何获取 ICommandService 对象

标签 java eclipse-rcp rcp

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

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

但在其中一种情况下,我们将没有工作台。

当工作台不可用时如何获取CommandService对象。

有什么想法吗?

最佳答案

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

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

关于java - 当工作台不可用时如何获取 ICommandService 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17061426/

相关文章:

java - 如何在 rcp 应用程序的工具栏中显示撤消和重做操作

java - 如何在 Spring Flux 错误处理程序中访问引用源对象?

java - 指定 Java 安全策略的远程代码库

java - 在恢复状态下,菜单栏不显示在 eclipse e4 中

java - java中的简单 "check for update"库

java - 为什么我在 Java 1.7.0 中看到 ConcurrentModificationException?

java - 如何在 Espresso 中以编程方式单击 Android 手机 "home"按钮

java - Powermock verifyPrivate 不能与 any() 一起使用

java - Hibernate - 获取数据库中的所有表名

eclipse - 如何实现: two views coordinating same selection in Eclipse RCP?