有没有一种简单的方法来组合两个自定义的 Java LookAndFeel 类?
我想将 Nimbus 类用于其主题(字体、圆角等),但使用 Metal 类的颜色。没有从头开始编写我自己的自定义外观类,我只是想知道是否有更简单的方法。我在这里看到这个人:混合外观和感觉只定制了一个边框,但我希望能够为所有颜色做到这一点。这是可能的,还是只需要写我自己的课程一样长?
有没有一种简单的方法来组合两个自定义的 Java LookAndFeel 类?
我想将 Nimbus 类用于其主题(字体、圆角等),但使用 Metal 类的颜色。没有从头开始编写我自己的自定义外观类,我只是想知道是否有更简单的方法。我在这里看到这个人:混合外观和感觉只定制了一个边框,但我希望能够为所有颜色做到这一点。这是可能的,还是只需要写我自己的课程一样长?
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)") +
"]");
}