GEF编辑器有这么多的layer
Grid Layer: 网格层,用来显示一个网格,帮助你定位图形
Primary Layer: 主层,大部分的图形都放置在这个层
Connection Layer: 连接层,连线都放置在这一层
等等~~~
问题是:
如果画板中有两个的paletteEntry Node1和Node2
先拖到编辑器中的Node1对象(图形或者图片),会被后生成的Node2会覆盖掉,
我想问下,如何使创建的Node2对象一直位于Node1对象的下面,不管创建的顺序。就像连接线一样,始终不会被节点覆盖。
如果是在Primary Layer下面加一个Layer的话,如何控制Node2创建在这个Layer?
求教高手~~指点一二~
------最佳解决方案--------------------
有个比较简单的方案,如果按照一般的Editpart的实现,Figure的绘制就是按照Model的顺序进行的,这样你只要在创建模型的地方进行一些修改,如果是Node2的模型,在list里始终都放到前面就行了;
比如一般的CreateCommand仅仅简单地这样写的:
public void execute() {
newShape.setLocation(bounds.getLocation());
Dimension size = bounds.getSize();
if (size.width > 0 && size.height > 0)
newShape.setSize(size);
parent.addChild(newShape);
}
默认的addChild()这个直接加到最后了,你可以这里进行一些计算,传一个index进去
------其他解决方案--------------------
这个方法可以用,谢谢啦
------其他解决方案--------------------
null