遅ればせながら、明けましておめでとうございます。

 今年は久々にJava界隈がにぎやかになりそうです。Java SE 7や、JavaFX 2.0などのリリースが控えているだけでなく、AndroidやJava VM上で動作するスクリプト言語などの活況は続いています。

 6年目に入ったJava技術最前線では、引き続きJavaの新しい技術を紹介していく所存ですので、よろしくお願いします。

 さて、新年最初のJava技術最前線は、久々にSwingの話題です。

 とはいうものの、Java SEでのSwingではありません。

 現状、Swingは機能追加などがなかなか行われていない状況になっています。もともとJava SE 7で導入される予定だったSwing Application FrameworkBeans 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です。