|
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) |
|