我正在尝试编写一个基本的图标装饰器来装饰我的项目的包。
package org.tdd.custom.decorators;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.viewers.ILabelDecorator;
import org.eclipse.jface.viewers.LabelProvider;
public class CustomDecorator extends LabelProvider implements ILabelDecorator{
@Override
public org.eclipse.swt.graphics.Image decorateImage(org.eclipse.swt.graphics.Image image, Object element) {
IResource objectResource = (IResource) element;
//here I want to check weather objectResource
//is a package, source folder or plain folder
}
@Override
public String decorateText(String text, Object element) {
----
----
}
}
现在,我只想在 Java 项目的包上应用图标装饰,但我无法区分源文件夹和包。
最佳答案
您拥有 IResource 的句柄,它是 Eclipse 核心实体。您需要将其转换为 JDT 实体。正确的 API 存在于 JavaCore 类中。您正在寻找的方法是create(IResource resource)
。它将返回适当类型的 IJavaElement
实例。
关于java - 区分 Eclipse 装饰器中的包和文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23387684/