遅ればせながら、明けましておめでとうございます。
今年は久々にJava界隈がにぎやかになりそうです。Java SE 7や、JavaFX 2.0などのリリースが控えているだけでなく、AndroidやJava VM上で動作するスクリプト言語などの活況は続いています。
6年目に入ったJava技術最前線では、引き続きJavaの新しい技術を紹介していく所存ですので、よろしくお願いします。
さて、新年最初のJava技術最前線は、久々にSwingの話題です。
とはいうものの、Java SEでのSwingではありません。
現状、Swingは機能追加などがなかなか行われていない状況になっています。もともとJava SE 7で導入される予定だったSwing Application FrameworkやBeans Bindingなどの機能も、Java SE 8に延期になってしまいました。
Java SE 7では、本連載の2010年3月に取りあげたJLayerクラスが追加されるだけです。
ところで、このJLayerクラスはもともとSwingXプロジェクトで開発されたコンポーネントです。
SwingXプロジェクトでは、JLayerクラス以外にも様々なコンポーネントを提供しています。Swingの拡充が見込めない現在では、SwingXプロジェクトのコンポーネントは貴重な存在です。
せっかくSwingXプロジェクトで魅力的なコンポーネントを提供しているのですから、これを使わない理由はありません。
そこで、今月からSwingXプロジェクトについて取りあげていきます。
SwingXプロジェクト
SwingXプロジェクトはもともとSwing Labsというプロジェクトのサブプロジェクトとして始まりました。
Swing Labsプロジェクトのサブプロジェクトとしては、前述したSwing Application Frameworkや、アニメーションのためのTiming Frameworkなどがあります。
また、すでにJava SEに導入されたSwingWorkerやNimbus Look&Feelも、もともとはSwing Labsプロジェクトのサブプロジェクトで開発された機能です。
Swing LabsプロジェクトのメンバーもChet Haase氏やHans Muller氏など、当時のSwingのエンジニアが多く参加しており、活発に活動していたのです。
しかし、2008年にSun MicrosystemsがSwingXを含めたSwing Labsへの支援を打ち切ってしまいました。この背景には2007年のJavaOneで発表されたJavaFXの存在があります。
このため、現在ではSwing Labsプロジェクトの活動は停滞し、Swing LabsのWebサイトと、java.netのプロジェクトサイトは更新が止まってしまいました。
そんな中、SwingXプロジェクトは地道に活動を続けてきました。
支援が打ち切られた後の2009年1月に、SwingX 1.0をリリースしました。2009年11月にはJava SE 6に対応させたSwingX 1.6をリリースしています。原稿執筆時点でのバージョンはSwingX 1.6.2です。