将摆动颜色延伸到自定义组件

时间:2011-12-13 11:07:12

标签: java swing colors custom-component uimanager

实现swing应用程序,通常你会意识到应该具有连贯外观的组件类。
示例:Mypanel扩展JPanel并表示一个应用对象,因此黄色背景带有深黄色边框线。
是否可以利用摆动颜色管理?
我的想法是将我的颜色放入UIManager.getLookAndFeelDefaults地图中,然后以某种方式将它们绑定到组件。
这种“不知何故”是一个问题:如何以最简单的形式做到这一点?

1 个答案:

答案 0 :(得分: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 defaults了解关键名称和默认颜色以及画家。