获取 Swing 组件的默认背景颜色
Posted
技术标签:
【中文标题】获取 Swing 组件的默认背景颜色【英文标题】:Get default background color of swing component 【发布时间】:2012-04-16 23:39:08 【问题描述】:如何获取 swing 组件的默认背景颜色?我的意思是JPanel的默认背景颜色?
【问题讨论】:
也许你正在寻找这样的东西:***.com/questions/2739704/getting-panel-color ? 你问的事实让我怀疑 GUI 的设计有问题。您需要的无法按super.paintComponent(g)
排序(更好)的默认颜色是什么?顺便说一句 - Swing JPanel
通常(取决于 PLAF)具有与 JTable
或 JTextField
不同的 BG 颜色。小心认为你有“BG”颜色。
【参考方案1】:
要获得面板在创建时将使用的 DEFAULT 颜色,请使用:
Color color = UIManager.getColor ( "Panel.background" );
要获得CURRENT面板背景使用:
Color color = panel.getBackground ();
有关UIManager
颜色属性的完整列表,请参阅http://alvinalexander.com/java/java-uimanager-color-keys-list。
【讨论】:
它是否返回“面板在创建时将使用的默认颜色”?还是返回最后一个 `UIManager.put("Panel.background",color);' 之后的值? 好吧,如果你想深入了解 -JPanel
根本没有默认值,它是在 UI 安装时从当前面板 UI 实例设置的。最常见的是取自 Panel.background
键下的 UI 默认表值。当然,您可以重新定义该值 - 在这种情况下,它将成为默认面板背景颜色,并且它将用于您重新定义后创建的所有新面板。以上是关于获取 Swing 组件的默认背景颜色的主要内容,如果未能解决你的问题,请参考以下文章