Eclipse gef 以编程方式更改GEF中图形的高度

Eclipse gef 以编程方式更改GEF中图形的高度,eclipse-gef,draw2d,Eclipse Gef,Draw2d,我有一个例子,我必须在另一个图形中添加图形,即嵌套图形 我的图将包含其他图扩展org.eclipse.draw2d.figure 当此图形包含4个以上的图形时,我想更改其高度,以便所有嵌套的图形同时可见 因此,在paintFigure(Graphics)方法中,我执行以下操作: Rectangle r = getBounds(); if( getChildren().size() > 4 ) { setBounds(new Rectangle(r.x, r.y, r.wid

我有一个例子,我必须在另一个图形中添加图形,即嵌套图形

我的图将包含其他图
扩展org.eclipse.draw2d.figure

当此图形包含4个以上的图形时,我想更改其高度,以便所有嵌套的图形同时可见

因此,在
paintFigure(Graphics)
方法中,我执行以下操作:

Rectangle r = getBounds();
if( getChildren().size() > 4 ) {
        setBounds(new Rectangle(r.x, r.y, r.width, r.height + getChildren().size()-4)*10));
}
但这不会改变高度。现在它确实改变了它,但是当下次再次调用它时,它再次具有先前的高度,而不是更新的高度

因此,从视觉上看,图形高度根本没有变化

你知道我做错了什么吗


或者以不同和/或更好的方式执行此操作?

我正在更新
paintFigure()
中的高度,它正在更改为以前的高度,因为它从模型中获取值。我改变了模型的高度,效果很好