GEF,EMF,RCP,Eclipse's plugin的几个问题(4) No …

2008-02-23 09:34:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

这个异常,一般是由于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);
}

上一篇: JSP页面文件目录树源码(递归算法)
下一篇: GEF,EMF,RCP,Eclipse's plugin的几个问题(7) 创建自己的选择文件PropertyDescrptor自定义的FileNamePropertyDescriptor

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:我的java学习经验谈3

下一篇:Java 本地接口规范 (一)