我有一个 GEF 编辑器,其中包含以下RootEditPart
.
public class MyProjectEditPart extends AbstractGraphicalEditPart {
@Override
protected IFigure createFigure() {
ScalableFreeformLayeredPane layer = new ScalableFreeformLayeredPane();
layer.setLayoutManager(new FreeformLayout());
return layer;
}
我正在使用编辑器创建一个自下而上的树:
_7_
/ \
5 6
/ \ / \
1 2 3 4
1-7
是Rectangle
s,其中1-4
代表与 不同的模型元素5-7
。目前,所有图形都按脚(new Rectangle(x, y, w, h)
+ parent.setConstraint(this, figure, rectangle)
)排列。人物的位置是根据人物5-7
上的位置用简单的算法计算出来的1-4
。
为了实用起见,我希望能够简单地添加1-4
到 RootFigure 的FlowLayout
edFigure
中BorderLayout.BOTTOM
,并将其余图形添加到 RootFigure 中BorderLayout.CENTER
。
但是,我对 GEF 还很陌生,不知道该怎么做。我找不到正确的方法来添加1-4
他们各自EditPart
的数字createFigure()
。
例如,我尝试过类似的东西parent.getFigure().getChildren().get(0).add(Figure_1)
,例如,使用 RootEditPart 的createFigure()
方法分别将两个新图形添加到BorderLayout.BOTTOM
和CENTER
..
我会感谢任何起点:)。