1

是否可以使图形具有确定性?我的意思是例如:

如果我添加 A 顶点然后添加 B,则图形看起来就像我先添加 B 然后添加 A 一样。

我目前正在使用 mxCompactTreeLayout,但它不能按我的意愿工作。

4

1 回答 1

1

是的,当然,但是您需要自己创建规则,因为它们可能非常特定于您的用例。mxGraphComponent.ImportCell我通过从 mxGraphComponent 继承并覆盖-method 来在内部调用此逻辑ImportCell以注入关系并在必要时重新组织图形。

@Override
public Object[] importCells(Object[] cells, double dx, double dy, Object target, Point location) {
    Object[] importedCells = super.importCells(cells, dx, dy, target, location);

    for (Object cell : importedCells) {
        updateGraphRelationsFor(cell);
    }

    return importedCells;
}

请注意,我updateGraphRelationsFor()使用importedCells从该super.importCells方法返回的值调用 ,因为它们将被克隆到该方法中。

于 2013-08-27T08:54:26.053 回答