NetBeans 5.0からは、とても使いやすいGUIレイアウトツールが付いています。これは、org.jdesktop.layoutパッケージのGroupLayoutクラスを使ってレイアウトを制御するコードを生成しています。このGroupLayoutは、JDK 6 (Mustang)から標準搭載されるようになりましたが、少々コードの修正が必要でした。
org.jdesktop.layout.GroupLayout.TRAILING ---> javax.swing.GroupLayout.Alignment.TRAILING org.jdesktop.layout.GroupLayout.LEADING ---> javax.swing.GroupLayout.Alignment.LEADING org.jdesktop.layout.GroupLayout.BASELINE ---> javax.swing.GroupLayout.Alignment.BASELINE org.jdesktop.layout.LayoutStyle.RELATED ---> javax.swing.LayoutStyle.ComponentPlacement.RELATED GroupLayout.ParallelGroupのadd(...) ---> GroupLayout.ParallelGroupのaddComponent、addGap、addGroupのいずれか(引数の型で判断する必要あり) GroupLayout.SequentialGroupのadd(...) ---> GroupLayout.SequentialGropuのaddComponent、addGap、addGroupのいずれか(引数の型で判断する必要あり) ※ addComponentに変更する際、引数の順番を変える必要があるパターンあり。第1引数にGropuLayout.Alignment、第2引数にComponentがある場合、addからaddComponentにメソッド名を変えるほか、引数の順番をComponent, Alignmentに入れ替えます。
来月にはJDK 6が正式リリースの計画とアナウンスされていますが、まだまだJava 2 SE 5.0も現役なので(というよりやっと最近に1.4から移行するケースが増えてきたという感じ)、当面両方の対応が必要です。
NetBeansのGUIコード生成は、使用するJDKによって両パターン用意できる機能が必要です。「JDK 6でもjdesktopパッケージを付ければいいじゃん」という汚ない対応はしてほしくないです。
[java]IDEの功罪
NetBeansのGUI生成を便利に使いましたが、これは標準Javaに加えてorg.jdesktopパッケージが必要になります。知らずにツールを使っていると、出来上がったアプリケーションがいろんなサードパーティ製ライブラリに依存することになりかねません。