【问题标题】:Override JComboBox Default Colors覆盖 JComboBox 默认颜色
【发布时间】:2009-08-28 10:37:28
【问题描述】:

当 L & F 为金属时,我试图覆盖 JComboBox 使用的默认颜色。 我已将 UIManager 中的以下内容覆盖为自定义颜色;

  • ComboBox.font
  • ComboBox.selectionBackground
  • ComboBox.buttonShadow
  • ComboBox.buttonHighlight
  • ComboBox.disabledBackground

  • 控制
  • controlDkShadow
  • 控制高亮
  • controlLtHighlight
  • 控制阴影

但我无法删除文本周围的浅蓝色矩形

有什么想法可以改变这个吗?

【问题讨论】:

  • 仍然有这个问题,让我抓狂

标签: java swing jcombobox


【解决方案1】:

为此,您必须在外观和感觉中替换 ComboBoxUI。并非所有内容都由 UIDefaults 中的颜色控制。 *UI 类进行实际绘图。

【讨论】:

    【解决方案2】:

    如果您谈论的是围绕整个组合框(按钮和文本)的浅蓝色边框。您可以通过将 UIManager 中的属性“Combobox.border”设置为 null 或其他边框来实现此目的。

    如果您想进一步了解该主题,可以查看 javax.swingx.BasicComboBoxUI。这是首先安装边框的地方。搜索方法“installDefaults”,它使用对 javax.swing.LookAndFeel 的静态调用来安装边框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 2014-07-21
      • 2021-08-23
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多