0

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

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

这是我的可视化代码

        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虽然没有实现排序,但同样可以完美运行。

请帮忙。提前致谢!

4

1 回答 1

0

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

以下是应该如何初始化图形:

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

V 和 E 可以是任意Object的。

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

于 2014-01-05T06:21:10.510 回答