Swing アプリケーションを実装していると、一貫した外観を持つべきコンポーネントのクラスに気付くことがよくあります。
例:アプリケーション オブジェクトMypanel
を拡張JPanel
して表すため、黄色の背景に濃い黄色の境界線が表示されます。
Swing カラーマネジメントを活用することはできますか?
私の考えは、自分の色をUIManager.getLookAndFeelDefaults
マップに入れてから、何らかの方法でコンポーネントにバインドすることです。
この「どういうわけか」が問題です。これを最も単純な形で行うにはどうすればよいでしょうか。
質問する
360 次
1 に答える
3
いくつかのコンポーネントだけをカスタマイズしたい場合は、次のように機能するはずです。
// Specify the colors
UIDefaults uiDef = new UIDefaults();
uiDef.put("Panel.background", Color.BLUE);
// Use the colors on a specific component
JPanel panel = new JPanel();
panel.putClientProperty("Nimbus.Overrides", uiDef);
SwingUtilities.updateComponentTreeUI(panel);
キー名とデフォルトの色とペインタについてはNimbus のデフォルトを参照してください。
于 2011-12-13T11:21:38.740 に答える