【问题标题】:combining customized Java LookAndFeel classes组合定制的 Java LookAndFeel 类
【发布时间】:2011-06-29 12:43:40
【问题描述】:

有没有一种简单的方法来组合两个定制的 Java LookAndFeel 类?

我想将 Nimbus 类用于其主题(字体、圆角等),但使用 Metal 类的颜色。没有从头开始编写我自己的自定义外观类,我只是想知道是否有更简单的方法。我在这里看到这个人:Mixing look and feel 只自定义了一个边框,但我希望能够为所有颜色做到这一点。这是可能的吗,还是只需要写我自己的课程一样长?

【问题讨论】:

  • 这是可能的,但如果您需要自定义 UI、JCompones、paintComponent(),请不要这样做
  • 啊,我想这正是我想要的:stackoverflow.com/questions/4671268/… 说得太早了!

标签: java swing look-and-feel mixing


【解决方案1】:

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)") +
        "]");
}

【讨论】:

    猜你喜欢
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多