UIElement.setIcon()在E4中不起作用

时间:2016-08-10 09:40:31

标签: eclipse-plugin e4

在我不断寻求修复E4引入的错误的过程中,我现在偶然发现了一个非常明显的错误:

public class MyHandler extends AbstractHandler implements IElementUpdater {

    @Override
    public void updateElement(UIElement element, Map parameters) {
        Image image = // find my image
        element.setIcon(ImageDescriptor.createFromImage(image));
    }

    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
        return null;
    }
}

这里的问题是MenuHelper.getIconURI(ImageDescriptor, IEclipseContext)在某个地方被调用,当然,从Image创建的ImageDescriptor没有任何类型的URL。

有没有办法分配网址?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,所以我尝试了所有可能的方法,结果发现以下代码行可以解决问题:

element.setIcon(ImageDescriptor.createFromURL(Activator.getDefault().getBundle().
        getEntry("imagepath")));