RCP项目可以直接重载Activator的
protected void initializeImageRegistry(ImageRegistry reg)用Activator.getDefault().getImageRegistry()使用图片,插件项目这样用的时候提示访问限制不知道什么原因?只好自己写一个工具类管理插件图片资源:
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.graphics.Image;
public class ImageFactory {
private static ImageRegistry imageRegistry = JFaceResources.getImageRegistry();
public static final String IMG_KEY = "key";
static {
initImageRegistry();
}
public ImageFactory () {
}
public static void initImageRegistry() {
imageRegistry.put(IMG_KEY,
Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/key.gif"));
}
public static ImageDescriptor getDescriptor(String key) {
ImageDescriptor imageDesc = imageRegistry.getDescriptor(key);
if(imageDesc == null) {
imageDesc = ImageDescriptor.getMissingImageDescriptor();
}
return imageDesc;
}
public static Image getImage(String key) {
Image image = JFaceResources.getImage(key);
if(image == null) {
ImageDescriptor.getMissingImageDescriptor().createImage();
}
return image;
}
}
本文详细介绍了在Eclipse Rich Client Platform (RCP) 插件开发中如何管理和使用图片资源,包括如何加载、显示以及优化资源管理的方法。
2561

被折叠的 条评论
为什么被折叠?



