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