是否可以使图形具有确定性?我的意思是例如:
如果我添加 A 顶点然后添加 B,则图形看起来就像我先添加 B 然后添加 A 一样。
我目前正在使用 mxCompactTreeLayout,但它不能按我的意愿工作。
是否可以使图形具有确定性?我的意思是例如:
如果我添加 A 顶点然后添加 B,则图形看起来就像我先添加 B 然后添加 A 一样。
我目前正在使用 mxCompactTreeLayout,但它不能按我的意愿工作。
是的,当然,但是您需要自己创建规则,因为它们可能非常特定于您的用例。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方法返回的值调用 ,因为它们将被克隆到该方法中。