我没有使用IDecorationContext,但是可以在中看到它
org.eclipse.jface.viewers.LabelDecorator。
此线程中也对此进行了讨论(即使没有答案,也至少可以为您提供一个起点)
我当前的方法是使用ILightweightLabelDecorator扩展org.eclipse.ui.decorators来向各个图标添加替换覆盖:
public class ProjectLabelDecorator extends LabelProvider implements ILightweightLabelDecorator { ... public void decorate(Object element, IDecoration decoration) { if (element instanceof IFolder) { IFolder folder = (IFolder) element; try { if (folder.getProject().hasNature("rttdt.nature")) { if (ProjectNature.isTestcase(folder)) { IDecorationContext context = decoration.getDecorationContext(); if (context instanceof DecorationContext) {((DecorationContext) context).putProperty( IDecoration.ENABLE_REPLACE, Boolean.TRUE); } decoration.addOverlay(fTestcaseOverlay,IDecoration.REPLACE); } } catch (CoreException e) { } } } ...}


