在JUNG中创建双向箭头

时间:2018-04-25 17:28:23

标签: jung jung2

是否可以使用FRLayout在JUNG中创建双向箭头?理想情况下,对于a-> b和b< -a?

的情况,是否有可能使用这些箭头的算法(端点是两端的箭头)

我认为它可能与

有关
 Renderer.Edge<String, String> edgeRenderer = 
        vv.getRenderer().getEdgeRenderer();

但无法看到如何获得箭头的形状

2 个答案:

答案 0 :(得分:1)

如果将边缘渲染为直线,则反平行边缘(a-> b和b-> a)将如您所愿。

如果您查看PluggableRendererDemo,您会看到如何更改边缘形状的示例:

vv.getRenderContext().setEdgeShapeTransformer(EdgeShape.line(graph));

如果您确实想要将两个单独的边缘渲染为单个边缘,那么这将更加复杂;基本上你需要破解(或子类)BasicEdgeRenderer,以便它检查反平行边缘并以不同方式处理它们。要在边的两端绘制箭头,请查看该类中的代码以渲染无向边(可选择在两端都有箭头)。

答案 1 :(得分:1)

你可以做一些像这样的黑客(在这种情况下)弯曲的边缘相互叠加:

<OTA_PingRQ TimeStamp="2018-04-28T15:15:00-06:00" Version="1.0.0">
  <EchoData>FREE TEXT</EchoData>
</OTA_PingRQ>