アイコンが付いた JButton があります。JButton の背景色をアイコンと同じにしたい。
次のコードは、標準のルック アンド フィールで正常に動作します。
button.setBackground(new Color(212,208,199));
しかし、ルック アンド フィールを Nimbus に変更すると、JButton の背景色がはるかに明るくなります。
button.setBackground() で色を変更すると、JButton の背景色も変更されますが、Nimbus で JButton の背景色と同じ色を取得するために必要な色がわかりません。もちろん、すべての値を試して色を目で見ようとすることもできますが、もっと簡単な方法があるはずです。
また、次のコードを使用して背景色を変更しようとしましたが、結果は同じでした:
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
defaults.put("Button.background",new Color(212,208,199));
Nimbus で JButton の背景色を変更して、含まれているアイコンの背景色とマージするにはどうすればよいですか?
以下は、デフォルトの LaF、ニンバス LaF (同じコード)、およびニンバス LaF (赤色) のボタンの写真です。
デフォルトの LaF、以下を使用button.setBackground(new Color(212,208,199))
:
ニンバスLaF、使用button.setBackground(new Color(212,208,199))
:
ニンバスLaF、使用button.setBackground(Color.red)
: