0

我是 JUNG 的新手。我已经绘制了我的树,但是需要将箭头的方向从子顶点反转到父顶点。

    TreeLayout<VertexLiteral, EdgeLiteral> treeLayout=
            new TreeLayout<VertexLiteral, EdgeLiteral>(tree);
    VisualizationViewer<VertexLiteral, EdgeLiteral> vv =
            new VisualizationViewer<VertexLiteral,EdgeLiteral>(treeLayout, new Dimension(600,600));

有什么解决办法吗?

干杯

4

2 回答 2

0

您可以提供自己的边缘渲染器,或自定义 BasicEdgeRenderer 以便它在另一端绘制箭头。应该很容易,即在drawSimpleEdge 中更改一两行。

于 2013-12-04T04:46:29.503 回答
0

按照Joshua O'Madadhain提出的想法,作为一种快速而简单的解决方法:

1) 将 BasicEdgeRenderer 源代码复制到 BasicEdgeRenderer_ReverseArrow 类中

2) 在该类中,将 v1 和 v2 交换为

V v1 = endpoints.getFirst();
V v2 = endpoints.getSecond();

3)将此修改后的渲染器添加到您的代码中,如下所示:

vv.getRenderer().setEdgeRenderer(new BasicEdgeRenderer_ReverseArrow<State, String>());

尼古拉斯

于 2014-02-03T21:52:12.627 回答