仅更改JComboBoxes的ControlShadow颜色

时间:2011-01-04 20:54:35

标签: java swing jcombobox uidefaults

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

我发现如果我改变了

的值
System.UserInterface.Colors.SwingDefaults.ControlShadow
资源图文件的

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

到此:

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

一切看起来都应该如此。

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

有没有办法只为JComboBox改变这种颜色?

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

1 个答案:

答案 0 :(得分:1)

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

查看UIManager Defaults可能的方法。查看“系统颜色”以查看“controlShadow”的默认值。然后,如果您查看组合框,您将看到“ComboBox.buttonShadow”具有相同的值。也许你为你的LAF更改了这个值。否则,您需要创建自定义组合框UI。搜索源代码以查看此值的使用位置,您将知道要更改的内容。