【问题标题】:How to reverse arrow direction of the tree (from leaves to root) in JUNG?如何在 JUNG 中反转树的箭头方向(从叶子到根)?
【发布时间】:2013-11-11 12:49:28
【问题描述】:

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

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

有什么办法吗?

干杯

【问题讨论】:

  • 您是否只想以不同的方式渲染边缘(即,将箭头放在边缘的另一端),或者您想要不同的数据模型(您希望节点有多个“父节点” )?
  • 我只需要按照你所说的不同方式渲染边缘,将箭头放在边缘的另一端。谢谢约书亚。

标签: java graph tree jung


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    遵循 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>());
    

    尼古拉斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多