UIManager的,如何让不同LookAndFeels的价值?

加拿大:

我需要的默认背景颜色TableHeader,但在Windows中LookAndFeel我已经尝试:

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

但它只是返回的默认颜色(因此金属的主题之一)。我如何从一个特定的组件的背景颜色LookAndFeel

PS。

在这种情况下

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

是相同的

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

编辑:

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

编辑2:

我发现,那个header.setBackground(COLOR);作品,如果你是默认主题。但是,当我设置LookAndFeel的Windows外观header.setBackground(COLOR)改变边框的颜色。

马尔科 - [R:

在Windows外观和感觉的定义LookAndFeelcom.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

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章