gpt4 book ai didi

java - UIManager,如何获取不同LookAndFeels的值?

转载 作者:行者123 更新时间:2023-12-02 12:14:36 25 4
gpt4 key购买 nike

我需要获取 TableHeader 和 Windows LookAndFeel 的默认背景颜色。我已经尝试过了:

try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
System.out.println(UIManager.getColor("TableHeader.background"));
catch (Exception e) {
e.printStackTrace();
}

但它只返回默认颜色(因此金属主题颜色)。如何从特定的 LookAndFeel 获取组件的背景颜色?

附注。

在这种情况下

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

相同
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

编辑:

好吧,我发现了,为什么它为 TabHeaader.background 返回“错误”值。那是因为我想要的颜色不是 TabHeader.backgroundTabHeader.foreground。但你知道如何获得“背景”的颜色吗?

编辑2:

我发现,如果您使用默认主题,则 header.setBackground(COLOR); 可以工作。但是,当我在 Windows 上设置 LookAndFeel 时,header.setBackground(COLOR) 会更改边框颜色。

最佳答案

Windows 外观和风格在 LookAndFeel 中定义。类com.sun.java.swing.plaf.windows.WindowsLookAndFeel 。您可以通过使用完全限定的类名作为参数调用 UIManager.setLookAndFeel 来使用它:

    try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
System.out.println(UIManager.getColor("TableHeader.background"));
} catch (Exception ex) {
// HANDLE EXCEPTION
}

这是 Swing 框架中可用外观的列表:https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html#available

希望这有帮助。

关于java - UIManager,如何获取不同LookAndFeels的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56243020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com