0

在我的 rcp 插件中,当我导出插件以创建文件夹时,我想要,比如说导出文件夹中的图像。例如,我导出的文件夹现在有配置、p2、插件和工作区文件夹。我想要一个默认文件夹来存储图像并可以从插件内部进行裁判。

4

1 回答 1

1

您可能会稍微不正确地进行此操作;您可以将图像打包到插件中,然后轻松地从代码中访问它们。只需在插件项目中创建图像文件夹,然后在 plugin.xml 编辑器的构建配置页面的“二进制构建”窗格中选择该文件夹。

然后,您可以通过这样的缓存管理您的图像:

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-应用程序.html

于 2012-05-01T12:24:12.527 回答