カテゴリー別アーカイブ: JUNG

JUNG開発環境構築

JUNG(Java Universal Network/Graph Framework)は、Javaでグラフ構造の処理や可視化なんかができるオープンソースのライブラリーだよ。早速使ってみるよ。今回はJUNGのサンプル・アプレットを動かすところまでやるよ。

ダウンロード

  1. TOPページの左のメニューからDownloadを選択
  2. Download All Jung Releases HereのHereをクリック
  3. sourceforgeの緑のボタン「Download Now!」をクリックしてダウンロード

そんなのいちいち教えられなくてもわかる?そうだね。
JUNG1.0系のときはCommons-CollectionsとかColtなどの依存してるライブラリーを別途集めなければいけなかったみたいだけど、JUNG2.0系では、上のダウンロード対象zipにすべて含まれているよ。

参考までに、jung2-2_0_1.zipの中身は以下の通り。色が薄いのはデモ、サンプルのjar。

  • collections-generic-4.01.jar
  • colt-1.2.0.jar
  • concurrent-1.3.4.jar
  • j3d-core-1.3.1.jar
  • jung-3d-2.0.1.jar
  • jung-3d-demos-2.0.1.jar
  • jung-algorithms-2.0.1.jar
  • jung-api-2.0.1.jar
  • jung-graph-impl-2.0.1.jar
  • jung-io-2.0.1.jar
  • jung-jai-2.0.1.jar
  • jung-jai-samples-2.0.1.jar
  • jung-samples-2.0.1.jar
  • jung-visualization-2.0.1.jar
  • stax-api-1.0.1.jar
  • vecmath-1.3.1.jar
  • wstx-asl-3.2.6.jar

eclipseにJUNG開発環境構築

eclipse(GALILEO以降)でJUNG開発環境を構築するよ。
まずはサンプルのアプレットを動かすプロジェクトJungSampleを作るよ。

jarの配置

先ほどダウンロードしたzipを展開して、eclipseインストール先のplugin以下に置いたよ。
ECLIPSE_HOME/plugins/jung2-2_0_1 以下に、上のjar群が並んでいる感じで。

eclipseにライブラリー追加

必要なjarを個別に選ぶ場合

Project→Property→Java Build PathからAdd External JARs.
ECLIPSE_HOME/plugins/jung2-2_0_1 以下から選ぶ。

まとめて追加する場合

Add Library…→User Library→User Libraries…→New
ユーザーライブラリー名 を jung2-2_0_1 (任意)としてOK. このまま続けてAdd JARs…
上のjar群を片っ端から全部選択(実はデモやサンプルはいらない)。これでユーザーライブラリーjung2-2_0_1 にjung2のjarが設定される。→OK
jung2-2_0_1 にチェックを入れる→Finish→OK

サンプルソースのダウンロード

ライブラリーを入手したのと同じダウンロード先から、jung2-2_0_1-sources.zipをダウンロードしてzipを解凍
さらにjung-samples-2.0.1-sources.jarをjarコマンドで展開。
jarコマンドはtarと違って展開先のフォルダ指定できないっぽいので、怖い人はあらかじめ作業用ディレクトリ作るとよい。
展開されたファイルをeclipseのプロジェクトに取り込む。以下ではプロジェクトのsrc以下にすべて移動して取り込ませた。

$ cd ~/Downloads/jung2-2_0_1-sources/
$ mkdir src
$ cd src
$ jar xvf ../jung-samples-2.0.1-sources.jar

$ ls
META-INF    datasets    edu    images    pom.xml
$ mv * ~/workspace/JungSample/src

サンプルの実行

Run→Run As→Java Applet
で実行してみたいサンプルのクラス名を選択してOKするとサンプルのアプレットが起動する。
以下の画像は「ShowLayouts – edu.uci.ics.jung.samples」を選んで実行してみた例