【问题标题】:Get default background color of swing component获取 Swing 组件的默认背景颜色
【发布时间】:2012-04-16 23:39:08
【问题描述】:

如何获取 swing 组件的默认背景颜色?我的意思是JPanel的默认背景颜色?

【问题讨论】:

  • 也许你正在寻找这样的东西:stackoverflow.com/questions/2739704/getting-panel-color ?
  • 你问的事实让我怀疑 GUI 的设计有问题。您需要的无法按super.paintComponent(g) 排序(更好)的默认颜色是什么?顺便说一句 - Swing JPanel 通常(取决于 PLAF)具有与 JTableJTextField 不同的 BG 颜色。小心认为你有“BG”颜色。

标签: swing colors background


【解决方案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 默认表值。当然,您可以重新定义该值 - 在这种情况下,它将成为默认面板背景颜色,并且它将用于您重新定义后创建的所有新面板。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 2012-01-28
  • 2013-06-26
  • 1970-01-01
相关资源
最近更新 更多