2016-11-24 9 views
0

와 가장자리. 각 에지는 두 개의 네트워크 요소 사이의 링크입니다. 링크 중간에 정확하게 그림을 추가하고 싶습니다. 현재 내 링크는 다음과 같습니다 : 그것을 위해 enter image description hereJUNG는 - 내가 그래프로 네트워크 장치를 표시하기위한 정을 사용하고 아이콘

코드는 다음과 같습니다

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>"; 
      }}); 

이 아이콘 링크와 인접 해 볼 수 있듯이. 링크가 두 개의 동등한 부분으로 아이콘을 나눌 수있는 옵션이 있습니까?

답변

0

TL; DR 당신은 오프셋 에지 라벨을 조정할합니다.

에지 라벨의 위치가 RenderContext 통해 액세스 모두 몇 가지 속성에 의해 지정된다 범위의 값을 돌려

  • EdgeLabelClosenessTransformer, [0, 1]의 위치를 ​​지정 가장자리를 따라 라벨, 즉 소스 노드 (0) 혹은 상기 타겟 노드 (1)에 근접하는지 여부이다.
  • 라벨의 가장자리로부터의 거리를 반환해야 오프셋 에지 라벨.

BasicEdgeLabelRenderer에서 이러한 속성이 기본적으로 사용되는 방법을 확인할 수 있습니다.

기본적으로 가장자리 레이블 오프셋은 10으로 설정되어 가장자리 레이블을 가장자리 가까이에 가깝게 배치해야합니다. 0으로 설정하면 :

vv.getRenderContext().setLabelOffset(0);

를 그런 다음 당신이 원하는 일을해야한다.

당신은 유용한 EdgeLabelDemo 실험을 찾을 수 있습니다.

+0

덕분에, 그것은 setLabelOffset (15)와 함께 일했다. –