• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JButtonのバックカラーについて)

JButtonのバックカラーについて

このQ&Aのポイント
  • WinXPでのJButtonのバックカラー変更についての質問
  • Win2000環境では正常にバックカラーが塗られているが、WinXP環境では輪郭部分のみ変更される
  • JTextFieldなどのバックカラーはXPでも正常に表示されているが、ボタンの色は輪郭部分しか変更できないのか

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.1

Windows XPでJButtonのsetBackgroundを設定するサンプルを作って動かしてみましたが、背景はすべて別の色で塗られて表示されました。 JBuilderで作ったということでちょっと気になったのですが、UIManager.setLookAndFeelでシステムのLookAndFeelに変更していませんか? この場合、UIクラスの実装によってコンポーネントの表示は変わりますので、OSが変われば表示スタイルも変わります。もしUIManager.setLookAndFeelがあったら、これをコメントアウトして再度動作チェックしてみてください。おそらく問題なく表示されるはずです。  XPではそうなるというのは、XP用のLookAndFeelの実装がそういうスタイルになっている、としかいいようがないです。  これがいやなら、ちょっと面倒ですがJButtonを継承したクラスを作成し、そこでコンポーネントの表示を制御させれるような処理を考えれば良いと思います。またLookAndFeelの実装を自作するという手もありますが、かなり面倒です。

javaTarou
質問者

お礼

LookAndFeelをシステムのLookAndFeelに設定しています。 LokkAndFeelを設定しないか、画面のプロパティでクラシック表示にすると、ボタンカラーは変更されますね。 /*これがいやなら、ちょっと面倒ですがJButtonを継承したクラスを作成し、そこでコンポーネントの表示を制御させれるような処理を考えれば良いと思います。またLookAndFeelの実装を自作するという手もありますが、かなり面倒です。*/ 確かにできそうですが、面倒なのでボタンカラーを変更しないほかの処理を考えます。 とても参考になりました。回答ありがとうございました。

関連するQ&A