荣 - 边缘与图标

时间:2016-11-24 16:20:14

标签: java graph jung jung2

我正在使用JUNG将网络设备显示为图形。每个边缘是两个网络元素之间的链接。我想在链接的中间添加一张图片。 目前我的链接如下所示: enter image description here

它的代码是:

vv.getRenderContext().setEdgeLabelTransformer(new Function<GraphLink,String>() {
            URL url = getClass().getResource("/icons/model/conn.radio.png");
            public String apply(GraphLink input) {
                return "<html><img src="+url+" height=14 width=14>";
            }});

如您所见,图标与链接相邻。有没有选项,所以链接可以将图标分成两个等于的部分?

1 个答案:

答案 0 :(得分:0)

tl; dr 您想要调整边缘标签偏移量。

边缘标签的位置由几个属性指定,都可以通过RenderContext访问:

  • EdgeLabelClosenessTransformer应该返回[0,1]范围内的值,指定标签沿边缘的位置,即它是否应该更接近源节点(0)或目标节点( 1)。
  • 边缘标签偏移,应返回从边缘到其标签的距离。

您可以在BasicEdgeLabelRenderer中查看这些属性的使用方式(默认情况下)。

默认情况下,边缘标签偏移设置为10,这应该使边缘标签非常靠近边缘,但不能在边缘顶部。如果将其设置为0:

vv.getRenderContext().setLabelOffset(0);

然后那应该做你想要的。

您可能会发现尝试EdgeLabelDemo很有用。