2017-03-06 8 views
0

JUNG 2.0を使用して、指向性非周期グラフを視覚的にレンダリングし、さまざまな色でエッジをレンダリングするカスタムEdgeRendererを追加しました。実際のエッジは、RenderContextオブジェクトのdrawLine()およびdrawPolyline()メソッドを呼び出すことによって描画されます。JUNGのスクロール時にグラフの端を移動する方法

VisualizationViewerオブジェクトが追加されたGraphZoomScrollPaneを手動でスクロールする場合を除いて、すべて正常に動作します。頂点は期待どおりスクロールしますが、エッジ線は画面上の同じ場所に正確に留まります。

This is correct

This is what happens when I scroll

がどのようにエッジが実際にスクロールする得ることができます:それは言うことですか?

(それはは完全に罰金CrossoverScalingControl作品でをズーム、助け、そしてエッジがその正しい位置に大小に成長した場合。)

答えて

1

間違った座標空間でエッジを描画しているようですね。レイアウト座標とレンダリング座標の2つの座標系があります。適切なコンテキストで適切なものを使用していることを確認する必要があります(特に、エッジの場合と同じように、頂点に同じ座標系を使用する)。

実際にdraw * Line()を呼び出す方法と、JUNGがどのようにそれを行うのかが少し違っている場合は、必要なものを正確に設定する方が簡単でしょう修正する。

関連する問題