有一种简单的方法可以组合两个自定义的Java LookAndFeel类吗?
我想使用Nimbus类作为主题(字体,圆角等),但使用Metal类的颜色。没有从头开始编写我自己的定制外观和感觉类,我只是想知道是否有一个更简单的方法。我在这里看到这个人:Mixing look and feel只定制了一个边框,但我希望能够为所有颜色做这个。这是可能的,还是只需要编写自己的类就可以了?
答案 0 :(得分:0)
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/color.html
以上链接将引导您进入页面以更改Nimbus外观的颜色方案。要更改颜色方案,至少需要更改3个属性。在页面中,如果您需要对外观进行更多更改,则会链接到另一个页面,其中包含Nimbus外观中的所有属性。
如果您需要检索Metal外观的颜色方案,可以使用下面的代码来查看Metal外观中的所有属性。您需要在此列表中识别正确的颜色属性,然后检索要分配到Nimbus外观中的3个属性的颜色。
UIDefaults uiDefaults = UIManager.getDefaults();
Enumeration enum = uiDefaults.keys();
while (enum.hasMoreElements())
{
Object key = enum.nextElement();
Object val = uiDefaults.get(key);
System.out.println("[" + key.toString() + "]:[" +
(null != val ? val.toString() : "(null)") +
"]");
}