GEF,EMF,RCP,Eclipse's plugin的几个问题(4) No more handles Exception 解决办法
2005-07-28 11:39
676 查看
这个异常,一般是由于Image 新建次数过多,导致系统handles(句柄)不够用,throw的
系统级错误.
在GEF程序中,一般出现在XXXTreeEditPart的getImage方法中,由于EditPart要经常刷
新前端显示图形,也就要经常刷新OutLine View,所以,在getImage中获取的Image一定
要先注册到Plugin的ImageRegistry中,也可以自己用HashMap来保存,到时候,直接从
Map中取即可,这样,就不用重新创建handle,也就不会出现handles不够的问题了.
具体如下:
public static HashMap ImageList = new HashMap();
//regieser images
public static void registerImages(){
Image image = null;
for (int i=0;i<AllImageNameList.length;i++){
//AllImageNameList为image 文件名称(含路径) 数组
//例如:icons/node/nodeXXX.gif
String str = AllImageNameList[i];
//YourPlugin中的方法...
image = YourPlugin.getImageDescriptor(str).createImage();
ImageList.put(str,image);
}
}
//get Image
//在XXXTreeEditPart的getImage方法中调用...
public static Image getNodeImage(String nodeId){
return (Image)ImageList.get(nodeId);
}
系统级错误.
在GEF程序中,一般出现在XXXTreeEditPart的getImage方法中,由于EditPart要经常刷
新前端显示图形,也就要经常刷新OutLine View,所以,在getImage中获取的Image一定
要先注册到Plugin的ImageRegistry中,也可以自己用HashMap来保存,到时候,直接从
Map中取即可,这样,就不用重新创建handle,也就不会出现handles不够的问题了.
具体如下:
public static HashMap ImageList = new HashMap();
//regieser images
public static void registerImages(){
Image image = null;
for (int i=0;i<AllImageNameList.length;i++){
//AllImageNameList为image 文件名称(含路径) 数组
//例如:icons/node/nodeXXX.gif
String str = AllImageNameList[i];
//YourPlugin中的方法...
image = YourPlugin.getImageDescriptor(str).createImage();
ImageList.put(str,image);
}
}
//get Image
//在XXXTreeEditPart的getImage方法中调用...
public static Image getNodeImage(String nodeId){
return (Image)ImageList.get(nodeId);
}
相关文章推荐
- GEF,EMF,RCP,Eclipse's plugin的几个问题(5) RCP Navigator View project name 为空解决办法
- GEF,EMF,RCP,Eclipse's plugin的几个问题(1) PackageNotFound Exception
- GEF,EMF,RCP,Eclipse's plugin的几个问题(3) 让eclipse的properies view实现disabled效果
- GEF,EMF,RCP,Eclipse's plugin的几个问题(6) 推荐使用新版本的VE(Visual Editor)
- GEF,EMF,RCP,Eclipse's plugin的几个问题(7) 创建自己的选择文件PropertyDescrptor自定义的FileNamePropertyDescriptor
- GEF,EMF,RCP,Eclipse's plugin的几个问题(2) Propertes View中的Property(Category)排序问题
- Eclipse Unhandled event loop exception No more handles 完美解决办法
- 使用 eclipse时,出现如下问题:org.eclipse.swt.SWTError: No more handles的解决办法
- eclipse Unhandled event loop exception No more handles 问题解决
- eclipse添加checkstyle插件出现unhandled event loop exception No more handles解决办法
- 使用 eclipse时,出现如下问题:org.eclipse.swt.SWTError: No more handles的解决办法
- 使用 eclipse时,出现如下问题:org.eclipse.swt.SWTError: No more handles的解决办法
- Eclipse Unhandled event loop exception No more handles 完美解决办法
- make: *** No rule to make target `all'. Stop.的问题 解决办法!
- 应对ADT(Eclipse)的No more handles解决办法
- 应对ADT(Eclipse)的No more handles解决办法
- 【Android】 Eclipse : ERROR: Unknown option '--no-crunch'的解决办法
- ProbeException解决办法:There is no WRITEABLE property named 'id' in class 'java.lang.String'
- Eclipse Errors running builder 'CDT Builder' java.lang.NullPointerException解决办法
- Python调用SIFT出现的问题:No such file or directory: '*.sift' 解决办法,超好用