Swing Application Frameworkの今後

Sunからの人材流出継続

JSR-296: Swing Application FrameworkのスペックリードだったHans Muller氏が、SunからAdobeに移ってしまったそうです。ショックだなあ。

ところで彼は、MLに残した『遺言』の中で、現在のSwing Application Frameworkにおける"several major design questions"を以下のように指摘しています。S2Swingの開発を進める上でも、これらの点は押さえておきたいと思います。

  • アプリケーションタイプの追加

現在サポートされているSingleFrameApplication(メインフレームのクローズ時にアプリケーションを終了)以外に、MultiFrameApplication(マルチフレーム型。最後のフレームのクローズ時にアプリケーションを終了)やServiceApplication(タスクトレイ常駐型)、AppletApplication(JAppletのライフサイクルに連動)といったアプリケーションタイプをサポートするべき。

  • Singletonの見直し

現在はApplicationのインスタンスにSingletonパターンでアクセスする方式だが、テスト時などに問題が多いのでやめるべき。

  • サービスをカスタマイズ可能に

現状では、ApplicationとApplicationContextの作成タイミングに問題があってサービスのカスタマイズが難しいので、これを改善するべき。

  • SwingWorkerの使用見直し

現状では、非同期アクションに使われるTaskクラスがSwingWorkerのサブクラスになっているため、Java 1.5環境下ではSwingWorkerのバックポートjarファイルが必要。これを見直すべき。