我正在我的程序中实现深色模式,一切正常,除了组合框之外,它不想按照我的意愿更改其颜色。
正如您所看到的,组合框的“弹出窗口”很好地改变了颜色,但组合框本身却没有。组合框的前景色也发生变化,但背景颜色不变。
我想,外观和感觉可能会导致问题。
在我的主课中:
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
我更改为深色模式的地方:
TeamInterface.userFilterComboBox.setBackground( darkBackgroundColor );
TeamInterface.userFilterComboBox.setForeground( fontColor );
SwingUtilities.updateComponentTreeUI( TeamInterface.userFilterComboBox );
我必须使用 updateComponentTreeUI-Method,因为否则“弹出窗口”也保持白色。如果我删除主类中的外观和感觉,组合框看起来不错,正如您在这张图片中看到的,
但我不想摆脱系统的外观和感觉,所以我尝试使用以下代码手动将组合框的 UI 编辑为金属:
userFilterComboBox.setUI( new MetalComboBoxUI() );
但是..结果很糟糕,即使理论上(至少我是这么认为的)它应该看起来和没有外观和感觉一样
慕桂英4014372
相关分类