如何在jGraphX中复制通用图?

时间:2013-06-18 16:43:22

标签: jgraphx

我在jgraphX中复制图形时遇到问题。作者给出的示例似乎没有递归地克隆默认父项的子项:

graph2.addCells(graph1.cloneCells(graph1.getChildCells(graph1.getDefaultParent())));

有一种方法:mxGraphModel.cloneCells(vertexList,true)声称以递归方式克隆,但它似乎对我不起作用。我已经跟踪了意外行为,它似乎来自restoreClone。我的克隆细胞没有恢复边缘。 mxGraphModel.java中的以下代码说明了问题:

    protected void restoreClone(Object clone, Object cell, Map mapping)
    {
        if (clone instanceof mxICell)
        {
            mxICell mxc = (mxICell) clone;
            Object source = getTerminal(cell, true);

.getTerminal()期望一个边缘,并且相应地表现,但是restoreClone使用“cell”的方式意味着它在这个实例中是一个顶点。所以终端为空,因此“source”变为null。这是一个错误吗?我想知道问题是cloneCell()是递归的,而restoreClone不是递归的,只恢复第一级单元格?

有没有更简单的方法可以一次性复制整个图表?

0 个答案:

没有答案