0

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

我发现如果我改变

System.UserInterface.Colors.SwingDefaults.ControlShadow

从这个资源映射文件:

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

对此:

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

一切看起来都应该如此。

但是,我不想更改所有 Swing 控件的 ControlShadow 颜色,所以我需要找到一个更有针对性的修复。

有没有办法只为 JComboBoxes 更改这种颜色?

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

4

1 回答 1

1

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

查看UIManager Defaults以了解执行此操作的潜在方法。查看“系统颜色”以查看“controlShadow”的默认值。如果您再查看组合框,您将看到“ComboBox.buttonShadow”具有相同的值。也许您为您的 LAF 更改此值。否则,您需要创建自定义组合框 UI。搜索源代码以查看该值的使用位置,您将知道要更改什么。

于 2011-01-04T22:38:51.887 回答