Java 6のデスクトップアプリケーション
Java 6ではデスクトップアプリケーションのための機能が強化されてるんだ。これって Project Looking Glass の影響かな。
- ファイルのアクセス権限/実行権限の管理
- ドライブの容量取得
- スプラッシュスクリーンの自動表示
- システムトレイにアイコンとメニュー表示
- ウインドウ単位のダブルバッファリング
- JDBC 4.0とApache Derbyのバンドル
スプラッシュスクリーンの表示とかは MRJ にはあったので今さらな感じもするけれど、システムトレイにメニューが追加できるのは大きいと思った。
public void TraySample() { BufferedImage icon = getImage("/images/naruto16.png"); PopupMenu popupMenu = new PopupMenu(); TrayIcon tray = new TrayIcon(icon, "LCHat tray icon", popupMenu); SystemTray.getSystemTray().add(tray); }
さっそく試してみたら、Mac OS Xだと右上のメニューバーに表示された。Dock に表示されるかと思ってたけど違ったみたい。
Apache Derby のバンドルも歓迎するところ。Mac OS X Tiger から SQLite がバンドルされて Cocoa アプリケーションはDBが当たり前になっていたので Java アプリケーションも遅れを取らずにいきたい。アプリケーションのユーザにDBサーバのインストールを要求するのは無理があるのでデフォルトでインストールされているのは大きいと思う。
ウインドウ単位のダブルバッファリングはMac OS X上で最大限効果を上げてくれると思う。GPUを一番うまく使っているOSだもんね。これについても何か試してみたいな。
Java 6では見送られた機能も多いので、これからもウォッチしていきたい。