web-dev-qa-db-ja.com

java

Javaでグラフ(ノードとエッジ)を描画したい。ただし、どうすればいいのか分からないので、始める前にアドバイスをお願いします。

どうすればよいですか?

graphics2Dパッケージを使用しますよね?

ノードのラベルはどうですか? drawStringのようなものを使用して、すべての「センタリング」を手動で処理するか、そのためのJLabelを作成する必要がありますか? JLabelをGraphics2D環境に配置できますか?

私は検索しましたが、これの単純な実装は見つかりませんでした。知っている場合は、回答にリンクを入力してください。

編集:私が探しているソリューションは、ノードの削除、ノードのドラッグ、ラベルの編集、ノードの作成をすべてマウスイベントで実行できる必要があります。

ありがとう。

20
nunos

" グラフパネル はオブジェクト描画プログラムの簡単な例です。"より複雑な代替案が引用されています here

3
trashgod

おそらくこれは役立つでしょう: [〜#〜] jung [〜#〜]

そして、おそらくこれを読む必要があります: http://jung.sourceforge.net/doc/JUNGVisualizationGuide.html

9
Aryabhatta

JGraphT および JGraph は別のオプションです。 JGraphは、GUIでグラフをレンダリングし、ユーザーの操作を処理するために使用されます。JGraphTは、基礎となるグラフモデル、データ構造、およびアルゴリズムです。

6
Dan Hamlin

あなたがそれを自分でやりたいなら、 GraphLayoutの例 が役に立ちます。

これは良い例です 数行のコードのみ。

より洗練されたフレームワークチェックを使用したい場合 JGraph

4
stacker

選択肢はたくさんあります。 GVSRプロジェクト はリストを維持します。検索を Javaライブラリ のみに制限できます。

3
Martin Harrigan

グラッパをお勧めします。 http://www.research.att.com/~john/Grappa/grappa.tgz

0
svlada