java - 仅更改 JComboBoxes 的 ControlShadow 颜色

标签 java swing jcombobox uidefaults

有人要求我将应用程序中 JComboBox 的颜色更改为非常特殊的非默认配色方案。

我发现如果我改变

System.UserInterface.Colors.SwingDefaults.ControlShadow

资源映射文件的来源:

            <Color ident="ControlShadow" value="#999999"/>

对此:

            <Color ident="ControlShadow" value="#FFFFFF"/>

一切看起来都理所应当。

但是,我不想更改所有 Swing 控件的 ControlShadow Color,因此我需要找到更有针对性的修复方案。

有没有办法只为 JComboBox 更改此颜色?

请注意,我尝试更改 ComboBox.buttonShadow 的值(更改为 #FFFFFF),但这不起作用。

最佳答案

我认为您不应该使用资源文件。

查看 UIManager Defaults寻找一种可能的方法来做到这一点。查看“系统颜色”以查看“controlShadow”的默认值。如果您随后查看组合框,您将看到“ComboBox.buttonShadow”具有相同的值。也许您可以更改 LAF 的该值。否则,您需要创建自定义组合框 UI。搜索源代码看看这个值用在哪里,你就会知道要更改什么。

关于java - 仅更改 JComboBoxes 的 ControlShadow 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4598314/

相关文章:

java - 使用 StringTokenizer 输入 5 个整数

java - 有没有办法使用 UImanager 更改 Jradiobuttons 的字体颜色

java - 如何从 JTextArea 获取文本?

java - 创建带有箭头的组合框以增加其中的值

java - 更改选择 JComboBox 列中的值

java - 设计方法错误代码的最佳做法是什么?

java - 灰度到二进制?

java - 删除 Hive UDF 中无用的依赖项

java - 在 Java 中绘制线条

java - 使用多维数组列表填充 JComboBox