Go to Previous Page Go to Contents Go to Java Page Go to Next Page
New Features of Java2 SDK, Standard Edition, v1.4
 
 

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 のスタイルになっているのが分かると思います。特にソースを変更する必要もありません。明示的に記述する場合も以前と同様に

    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel")

 

ところで、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 で表示してみると...

プログラム中で明示的に指定する場合は次のようにします。

    UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel")

 

(Apr. 2003)

 
 
Go to Previous Page Go to Contents Go to Java Page Go to Next Page