我需要的默认背景颜色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.background
或TabHeader.foreground
。但做一个知道一个人如何获得的“背景”的颜色?
编辑2:
我发现,那个header.setBackground(COLOR);
作品,如果你是默认主题。但是,当我设置LookAndFeel
的Windows外观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
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句