2013-03-27 2 views
2

자바 정으로 작업하기 시작했습니다. 나는 좋은 자습서의 부족으로 몇 가지 문제가있어. 나는 약간의 시간이 필요하다고 생각해.자바 정 세트 문자열의 너비에 해당하는 원의 크기 (레이블)

잘 내 문제는 다음과 같습니다

나는 텍스트 (문자열)로 표시되어 정점 (원)와 네트워크를 만들었습니다. 내 문제는 문자열의 크기 (너비)를 문자열에 맞추는 것입니다.

동적으로 설정하고 싶었지만 정점을 반복하는 방법을 모릅니다.

+0

튜토리얼/문서 정보 : http://stackoverflow.com/questions/4201651/any- good-tutorials-for-jung2 –

+0

링크를위한 thx,하지만 그것은 정말로 나에게 도움이되지 않습니다. – hehe

답변

3

같은 질문이 사람을위한 솔루션 :

FontMetrics fm = vv.getFontMetrics(vv.getFont()); 
int width = fm.stringWidth(i); 

절은 VisualizationViewer입니다

1

vv의 경우 VizualizationViewer의 경우 VertexShapeTransformer을 추가 할 수 있습니다. 다음 스칼라 코드는 Java로 쉽게 변환 할 수 있습니다.

vv.getRenderContext().setVertexShapeTransformer(
new org.apache.commons.collections15.Transformer[String,java.awt.Shape]() { 
    def transform(label: String): java.awt.Shape = { 
    val width = label.length * 10.0 
    val circle = new java.awt.geom.Ellipse2D.Double(-(width/2), -12.5, width, 25); 
    circle // return circle 
    } 
}) 
+1

thx 나는 똑같지 만 폰트 솜씨로 뭔가를 얻을 수 있기를 바랐습니다. – hehe

+0

나는 그와 비슷한 것에도 관심이 있습니다. 하지만 어쨌든 upvote 수 있습니다 : P – corny

+0

죄송합니다 최대 투표에 대한 더 많은 명성이 필요 :)) – hehe