2013-03-27 70 views
2

我开始使用java jung。由于缺乏优秀的教程,我遇到了一些问题。我想我需要一些时间来进入它。Java Jung将圆的大小设置为其字符串的宽度(标签)

那么我的问题是:

我创建了一个网络与标有文字(串)的顶点(圆圈)。 我的问题是适合圆圈的大小(宽度)的字符串。

我想动态设置它,但不知道如何遍历顶点。

+0

教程/文档信息:http://stackoverflow.com/questions/4201651/any-好的教程,对于jung2 – 2013-03-27 19:52:05

+0

thx的链接,但它并没有真正帮助我.. – hehe 2013-03-27 22:52:13

回答

3

对于任何解决方案谁拥有了同样的问题:

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

VV是VisualizationViewer

1

对于vv,一个VizualizationViewer,您可以添加一个VertexShapeTransformer。 下面的Scala代码很容易翻译成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我得到了同样的,但我希望我会用fontmerics东西.. – hehe 2013-03-28 17:13:16

+0

我会对这样的事情感兴趣。但是,无论如何你都可以得到满意的答复:P – corny 2013-03-29 12:11:03

+0

我需要更多的赞誉才能表决对不起:)) – hehe 2013-04-02 04:58:46

相关问题