|  
       | 
    
 
      Swing の新しい Look and Feel | 
    |||||
|  
       Windows XP 風??  | 
    |||||
|   J2SE 1.4 が登場したときは、まだ Windows XP はなかったのですが、今ではすっかり XP が普通になってしまいました。 XP のユーザインタフェースは今までの Winsows とかなり変わってしまっています。ところが、Swing は旧態依然のままです。AWT は Windows の GUI コンポーネントをそのまま使用しているので、OS が変われば、GUI の Look and Feel もなにもしなくても変化します。 ところが、Swing はすべてを自分で描画しているので、OS が変わっても、GUI は変化ありません。しかし、Metal など、OS とは独立した Look and Feel であればいいのですが、Windows のスタイルが変化してしまった今 Swing の Look and Feel も変化しないと、ちぐはぐな印象になってしまいがちです。 というわけで Swing の Windows Look and Feel も v1.4.2 から XP の Look and Feel になりました。 例えば、J2SDK に付属しているデモプログラムの SwingSet2 を実行してみましょう。SwingSet2 はデフォルトでは Metal ですが、メニューで変更することができます。それで Windows にするとこんな風になりました。 
 InnerFrame もちゃんと XP のスタイルになっているのが分かると思います。特にソースを変更する必要もありません。明示的に記述する場合も以前と同様に 
 
 ところで、Windows XP はクラシックスタイルが選べるので、以前の GUI が好みの方はこちらを使っていると思います。こういう場合、Swing もクラシックスタイルに戻しましょう。それにはオプションで -Dswing.noxp=true を指定します。 例えば、SwingSet2 であれば java -Dswing.noxp=true SwingSet2 とします。こうすると、こんな感じになりました。 
 ちゃんと以前のスタイルに戻りました。 ところが、beta だからかもしれませんが、JFileChooser クラスはクラシックスタイルにしても、XP 風になってしまいます。 
  | 
    
|   もうひとつの Look and Feel - GTK+  | 
    ||||
|   J2SE 1.4.2 ではもうひとつ Look and Feel が追加されました。それは GNOME などにも使われている GTK+ です。 こちらも先ほどの SwingSet2 で表示してみると... 
 プログラム中で明示的に指定する場合は次のようにします。 
 
 (Apr. 2003)  | 
    
|  
       |