导出rcp插件时的输出文件夹

时间:2012-05-01 12:05:49

标签: eclipse-rcp

在我的rcp插件中,我希望当我导出我的插件来创建文件夹时,让我们说出口文件夹中的图像。例如,我导出的文件夹现在有配置,p2,插件和工作区文件夹。我想在那里存储图像的默认文件夹,并且可以从插件内部进行裁判。

1 个答案:

答案 0 :(得分:1)

你可能会略微错误地解决这个问题;您可以将图像打包到插件中,然后从代码中轻松访问它们。只需在插件项目中创建您的图像文件夹,然后在plugin.xml编辑器的Build Configuration页面的“Binary Build”窗格中选择该文件夹。

然后,您可以通过以下缓存管理图像:

public class ImageCache 
{
    private static ImageCache s_instance = new ImageCache();
    private ImageRegistry m_imageRegistry = Activator.getDefault().getImageRegistry();

    public static enum AppImage
    {
        EXAMPLE("images/example.gif")
        ;


        public String location;

        private AppImage(String location)
        {
            this.location = location;
        }
    }

    private ImageCache()
    {
            for(AppImage image : AppImage.values())
            {               
                imageRegistry.put(image.name(),Activator.getImageDescriptor(image.location));
            }
    }

    public static ImageCache instance()
    {       
        return s_instance;
    }

    public final static Image get(AppImage key)
    {
            return instance().m_imageRegistry.get(key.name()); 
    }

    public final static ImageDescriptor getDescriptor(AppImage key)
    {
            return instance().m_imageRegistry.getDescriptor(key.name()); 
    }    
}

其中example.gif位于插件项目根目录下的images文件夹中。

另见:http://www.vogella.com/articles/EclipseRCP/article.html#tips_loadimages 并且:http://obscuredclarity.blogspot.co.uk/2009/10/add-image-to-eclipse-rcp-application.html