我正在尝试将一个(非常)简单的图形布局算法插入我的 GEF 编辑器。我通过简单地向我的 s'添加calculateX()
和calculateY()
方法来做到这一点(图中显然有一个)。NodeEditPart
refreshVisuals()
XYLayout
它确实有效,尽管仅适用于那些与另一个节点有连接的节点,它们是另一个节点的源。当我尝试访问有问题的节点与其有连接的节点的约束时,它是目标,我得到一个NullPointerException
.
我猜这与在 GEF 中绘制节点的顺序有关。
我还猜测没有元素解析器检查哪些元素必须首先绘制,而是元素要么按照它们出现在 a 中的顺序绘制List
,要么同时通过EditPartFactory
从模型中的某种有序集合中获取其输入)。
但它是如何真正做到的?