2014-04-30 25 views
1

我想寫一個基本的圖標裝飾器來裝飾我的項目的包。在eclipse裝飾器中的包和文件夾之間的差異

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項目的包應用圖標裝飾,但我不能源文件夾和包之間進行區分。

回答

1

你有一個IResource的句柄,它是一個Eclipse核心實體。您需要將其轉換爲JDT實體。 JavaCore類中存在適當的API。您正在尋找的方法是create(IResource resource)。它將返回適當類型的IJavaElement實例。

相關問題