我开始使用 java jung。由于缺乏好的教程,我遇到了一些问题。我想我需要一些时间来了解它。
那么我的问题是:
我创建了一个带有带有文本(字符串)标签的顶点(圆圈)的网络。我的问题是使圆圈的大小(宽度)适合字符串。
我想动态设置它,但不知道如何遍历顶点。
任何有相同问题的人的解决方案:
FontMetrics fm = vv.getFontMetrics(vv.getFont());
int width = fm.stringWidth(i);
vv 是 VisualizationViewer
对于vv
, a 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
}
})