在我的 rcp 插件中,当我导出插件以创建文件夹时,我想要,比如说导出文件夹中的图像。例如,我导出的文件夹现在有配置、p2、插件和工作区文件夹。我想要一个默认文件夹来存储图像并可以从插件内部进行裁判。
问问题
263 次
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 回答