我目前正在使用 Eclipse GEF 构建一个编辑器。可以通过编辑器添加新部件并重命名它们。
但是我对元素的移动有一点问题。当用鼠标拖动它们时,当我释放鼠标并且元素不会与另一个元素碰撞时,它们不会移动。
元素的位置存储在一个EMap
(模型是用 EMF 制作的)中。视图中的更改使用put
地图的方法保存。
在使用调试器进行检查时,我注意到命令已执行,但视图尚未刷新。
我在模型中添加了一个适配器,但notifyChanged
系统没有调用它。
public class ViewAdapter implements Adapter {
@Override
public void notifyChanged(Notification notification) {
refreshVisuals();
}
}
ViewAdapter
注册在 的激活方法中EditPart
。
会是什么呢?