在我的RCP应用程序中,将装饰器添加到TreeViewer中的图标时,该图标的背景在macOS上为黑色。
所示的装饰器很简单:
public class GroupDecorator extends LabelProvider implements ILightweightLabelDecorator {
public static final String IMAGE_PATH = "overlays/folder_decorator.png";
@Override
public void decorate(Object o, IDecoration decoration) {
if(o instanceof Group<?>
&& !(o instanceof IISO27Scope)
&& !(o instanceof Asset)
&& !(o instanceof ImportBpGroup)) {
decoration.addOverlay(ImageCache.getInstance().getImageDescriptor(IMAGE_PATH));
}
}
}
完整源代码在GitHub上:GroupDecorator.java
您可以在这里找到装饰图像文件:overlays/folder_decorator.png
Eclipse RCP版本是2019-06 / 4.12。 MacOS版本是Catalina 10.15.2。在Linux和Windows上不会出现显示的问题not。在macOS Catalina上的Eclipse RCP 4.7也会发生not。
如何使背景变白?
这看起来像SWT错误-https://bugs.eclipse.org/bugs/show_bug.cgi?id=310387,并已在Eclipse 2020-03中修复。