2

Java jung を使い始めました。良いチュートリアルがないため、いくつかの問題が発生しました。私はそれに入るのに少し時間が必要だと思います。

私の問題は次のとおりです。

テキスト (文字列) でラベル付けされた頂点 (円) を持つネットワークを作成しました。私の問題は、円のサイズ (幅) を文字列に合わせることです。

動的に設定したかったのですが、頂点を反復処理する方法がわかりません。

4

2 に答える 2

3

同じ質問がある人のための解決策:

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

vv は VisualizationViewer です

于 2013-04-02T05:25:55.190 に答える
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
  }
})
于 2013-03-27T23:55:20.940 に答える