有人要求我将应用程序中 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/