OrderedKAryTree渲染不正确(JUNG2)

时间:2014-01-04 18:42:05

标签: java graph jung avl-tree jung2

我一直在使用JUNG2(没有任何动画)以图形方式显示AVL树操作

我正在使用OrderedKAryTree。但是渲染存在一些问题。所有边缘从根到框架的左上角出现。如图所示 screenshot

这是我的可视化代码

        vv = new VisualizationViewer<Integer, Integer>(
            new TreeLayout<Integer, Integer>(graph),
            new Dimension(500, 400));
        vv.setBackground(Color.white);
        vv.getRenderContext().setEdgeShapeTransformer(
            new EdgeShape.Line<Integer, Integer>());
        vv.getRenderContext().setVertexLabelTransformer(
            new ToStringLabeller<Integer>());

        frame.getContentPane().add(vv, BorderLayout.CENTER);
        frame.getContentPane().validate();

我无法弄清楚为什么会这样。此外,如果我使用DelegateTree,相同的代码也能完美地工作,尽管没有实现排序。

请帮忙。提前谢谢!

1 个答案:

答案 0 :(得分:0)

找到解决方案。而不是OrderedKAryTree使用DelegateTreeDirectedOrderedSparceGraph

以下是图表的初始化方式:

DelegateTree<V, E> graph = new DelegateTree<V, E>(
    new DirectedOrderedSparseMultigraph<V, E>());

V和E可以是任何Object

这不能解决OrderedKAryTree错误渲染的问题,但它肯定可以帮助您显示二叉搜索树。