0

ネットワークデバイスをグラフとして表示するためにJUNGを使用しています。各エッジは、2 つのネットワーク要素間のリンクです。リンクのちょうど真ん中に写真を追加したい。現在、私のリンクは次のようになっています: ここに画像の説明を入力してください

そのコードは次のとおりです。

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

ご覧のとおり、アイコンはリンクに隣接しています。リンクでアイコンを 2 つの等しい部分に分割できるオプションはありますか?

4

1 に答える 1

0

tl;drエッジ ラベルのオフセットを微調整したいとします。

エッジ ラベルの位置は、RenderContextを介してアクセスできる 2 つのプロパティによって指定されます。

  • [0, 1] の範囲の値を返す EdgeLabelClosenessTransformer は、エッジに沿ったラベルの位置、つまり、ソース ノード (0) またはターゲット ノード (1) のどちらに近いかを指定します。
  • エッジからラベルまでの距離を返すエッジ ラベル オフセット。

これらのプロパティが (デフォルトで) BasicEdgeLabelRendererでどのように使用されるかを確認できます。

デフォルトでは、エッジ ラベル オフセットは 10 に設定されています。これにより、エッジ ラベルはエッジの上ではなく、かなり近くなります。0 に設定した場合:

vv.getRenderContext().setLabelOffset(0);

次に、それはあなたが望むことをするはずです。

EdgeLabelDemoを試してみると便利な場合があります。

于 2016-11-29T19:02:57.400 に答える