java - 区分 Eclipse 装饰器中的包和文件夹

标签 java eclipse eclipse-plugin

我正在尝试编写一个基本的图标装饰器来装饰我的项目的包。

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/

相关文章:

java - ssh 私钥/公钥认证示例

java - 如何从队列中丢弃 Tibco EMS 消息(消费者端)

java - object.notify() 不会唤醒 object.wait()

php - 为什么 Eclipse 反对 `static::$var` ?

eclipse - Eclipse Che 可以用于传统的单体应用程序开发吗?不使用 Docker 的应用程序

android - 上次 ADT 更新 (22.6.3) 破坏了我的 Eclipse

java - 如何更改 AutoCompleteTextView 句柄背景

c++ - 一段初学者 C++ 代码的模糊编译器错误

java - 如何在同一个工作台中运行Eclipse插件?

SDK 20 升级后,Eclipse (ADT) 的 Android 插件消失