2005年 11月 17日 木曜日 |
今日のAPI: NetBeans Graph Library English Translation: (Yahoo!) / (Google) ちょっと前のことですが、NetBeans Graph LibraryがNetBeans.orgのトップページで紹介されていました。このライブラリはもともとNetBeans Mobility Packのビジュアルデザイナ向けに作られていたようですが、その機能が汎用化されてAPIとして切り出されたものです。 グラフを書くAPIというと、JGraphなんかが有名です。JGraphはまだ試していないので性能や機能の比較はできませんが、スクリーンショットを見る限りはLook and Feelが個人的にNetBeans Graphの方が好みであるということで今回はこちらをご紹介します。
NetBeans Graph APIの使い方はいたって簡単で、NetBeans GraphのJava Web Startデモのソース(DemoFrame.javaとDemoGraph.java)を見るとかなり簡単にグラフを制御するプログラムが書けることがわかります。
動作環境としてはJava SE 1.4以降となっており、依存するライブラリとしてOpenIDEのutililtyのライブラリが必要になります。
GraphDocument document = new GraphDocument ();
JComponent view = GraphFactory.createView(document,
new VMDDocumentRenderer(),
new DefaultViewController(),
new MyEventHandler ());
NetBeans Graph LibraryはいわゆるMVC(モデル、ビュー、コントローラ)パターンのアーキテクチャになっています。
GraphFactoryに渡しているのはグラフを描画するレンダラ(org.netbeans.graph.vmd.VMDDocumentRenderer)、ビューのコントローラ(org.netbeans.graph.api.builtin.DefaultViewController)とイベントを処理するハンドラ(MyEventHandler、デフォルトの実装はありませんのでorg.netbeans.graph.api.IGraphEventHandlerを継承して作成します)です。GraphFactoryのcreateViewを使用することでビューが作成されます。このビューはJComponentなので、パネルなどに貼り付けるとグラフが表示されます。
グラフにノードを追加するには次のようにノードを作成して、GraphEventを使用して追加します。
MyGraphNode node = new MyGraphNode("ノード");
document.addDocuments(GraphEvent.createSingle(node));
できることはまだありますので、1回のブログに全手順を書くことはできないのですがおおよその雰囲気をつかんでいただくことはできたかと思います。
実はグラフAPIを探していたのはJavaOne TokyoのNight for Javaにプログラムを出したいなと前から思っていて、その出そうと思っていたネタに必要だったからです。まあ、JavaOne Tokyoには間に合わなかった上、イベントも終わってしまいましたので、今回はここでそのネタをご紹介します。
以前に藤井さんが紹介されているFreeMindをはじめとして、マインドマップというのはなんだか最近ちょっとしたブームのようです。個人的にFreeMindは非常によくできたソフトだと思っているのですが、マインドマップをパソコンで書くと結構時間がかかるので会議中にリアルタイムに電子的なマインドマップを書くのは限界があるだろうと思っていました。どちらかというと紙に走り書きしたマインドマップをパソコンで清書するために使うほうが用途としてはあっているかなというところです。 一方、最近O'ReillyのWeb 2.0という話題の記事ではコンテンツ管理にはWikiだ。と書いてあり、マインドマップとWikiを使えばなんかよさそうだというネタです。 今回は夜なべしてその試作品を作ってみました。JRE 5.0がインストールされている環境の場合は、Java Web Startのデモを実行することができます。(なお、NetBeans Graphが使用している org-openide-util.jar 内で、AWTPermissionを要求していたので今回はオレオレ証明書で署名してあります。)
このように、マインドマップというにはまだ無理があるかもしれませんが、それぞれのノード(記事)をリンクさせることでマインドマップの雰囲気を作り出しています。また、それぞれの記事をクリックすると記事のプレビュー、ダブルクリックすると編集ができるようにしてあります。
今回、NetBeans Graph Libraryを使用したことで結構スムースに作ることができました(どちらかというとプログラムより、アイコン画像を作るほうが時間がかかりました)。試作品でなんか、使えそうな感触がしてきたのでもう少し時間ができたら本格的に開発してみようと思います。 NetBeans 5.0ベータ2がリリースされました English Translation: (Yahoo!) / (Google) NetBeansのトップページによると、5.0のベータ2がリリースされたようです。
1,880ものバグが修正されているとのことです。
この新しいBeta 2では、アイコンも変更されていて、いよいよ新しいリリースという予感と期待が高まってきます。 |
Today's Page Hits: 755 |