java - e4 将 ESelectionService 设置为空

标签 java eclipse e4

在执行方法之后,我想设置当前选择null。我已经走到这一步了,但是行不通。之后,selection 仍然保留 a 值,该值不为 null。

    @Inject
    private ESelectionService selection;

    @Execute
    public void execute(@Named(IServiceConstants.ACTIVE_SELECTION) Foo foo, Shell shell) {
        if (true) {
           //do something!
           final Object NULL_OBJECT = new Object();
           selection.setSelection(NULL_OBJECT);
        }
    }

最佳答案

有多种选择服务,每个上下文一个(IEclipseContext)。您可能在错误的上下文中设置了选择。

ESelectionService 作为类的字段注入(inject)可能意味着您最终会得到错误的服务。始终将其作为 execute 方法的参数注入(inject)。

... no field injection

@Execute
public void execute(ESelectionService selection, @Named(IServiceConstants.ACTIVE_SELECTION) Foo foo, Shell shell) {

关于java - e4 将 ESelectionService 设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41104175/

相关文章:

Android:在 Eclipse 中重构 XML 文件?

java - 在两个不同的插件中转换为相同的类型

java - Eclipse 4 RCP Vogel 教程 : Exit menu item does not appear

java - 如何在android TextView 中通过文本连续运行阴影效果?

java - Ubuntu 无法启动另一个 Java 线程

java - SSL 证书验证在 Java 中失败 - 但在其他任何地方都有效

java - 动态加载接口(interface)实现时如何使接口(interface)成为仅编译依赖项

java - Tomcat 7 未在 jax-ws 中启动

Java GPA 计算结果问题

java - 如何设置eclipse e4中UI部分的输入?