【问题标题】:Ordering of nested figures in GEF by getChildren()通过 getChildren() 对 GEF 中的嵌套图形进行排序
【发布时间】:2014-05-23 15:52:33
【问题描述】:

我有一个带有工具栏布局的图。 我在其中添加了一个标签(绘制 2D)。

我必须在其中动态添加另一个图形。但是当我添加它时,标签会向下移动,新添加的图形会出现在顶部。

我试过用add(IFigure, index)方法添加标签,索引为0但没用!

我注意到getChilden() 列表底部有我的标签。我可以继续重新排序列表,但我认为这不是一个好主意。

怎么做才能让新添加的数字总是在底部?

我不能使用除工具栏布局之外的任何其他布局。

【问题讨论】:

    标签: eclipse-gef draw2d


    【解决方案1】:

    您可能应该使用add(figure, getChildren().length() 将您的身材添加到孩子列表的末尾。 ToolbarLayour 使用列表顺序显示数字,所以这应该有效。执行add(figure, 0) 会将您的图形作为列表中的第一个,因此您看到的行为是预期的。

    【讨论】:

    • 我使用 add(Label, 0) 将标签保持在顶部。我通过命令动态添加数字。该命令将新对象的模型添加到其列表中。此列表仅添加需要添加的模型,此列表不添加标签,因为它不是模型的一部分,而是单独的图形的一部分。在模型中,我无权访问 getChildren()。
    • 由于您想根据模型管理视图的外观,因此您必须以某种方式处理视图具有的子项数量。这不是最佳做法,但您无能为力。
    猜你喜欢
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2019-05-13
    • 1970-01-01
    • 2020-09-09
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多