GEF中,同一层次不同节点的重叠顺序的设置

本文介绍在使用GEF进行图形化设计时如何控制图形重叠顺序,特别是在矩形和椭圆重叠的情况下,通过调整模型加入顺序实现椭圆位于矩形下方的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在进行GEF进行图形化设计的时候,经常会有这样的需求,即同一个层次中的不同外观的图形,在图形有重叠的时候,经常需要固定他的重叠的顺序,如 当矩形和椭圆的重叠的时候,椭圆必须是出于矩形节点的下方。如果在默认情况下,GEF中的 处理重叠问题是按照在这个层次中的childModel加入的先后顺序来处理的,先加入节点会被后加入的节点覆盖。从AbstractEditPart中的方法refreshChildren 和 AbstractGraphicalEditpart中的方法addChildVisual其实就可以看出来。一开始考虑问题太简单了,以为只需要重载refreshChildren 这个方法或者直接在视图的FreeeFormLayer中的addFigure方法进行处理,呵呵,确实是个幼稚的想法,没有很好的考虑到GEF其实已经很好的体现的MVC设计模式。原来一个很简单的方式就可以实现了,即在吧节点模型加入到当前的Diagram模型的时候,对加入的类型进行排序就可以了,把加入的椭圆置入diagram中的children模型的前端就行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值