外观和与感觉无关的颜色键参考
我目前正在为我所工作的公司的一个产品开发一组自定义控件。为此,我扩展了许多 Swing 控件,并重写了许多方法。paint
为了保持一致的配色方案,我使用.paint
setBackground
UIManager.getColor
这完全没问题,直到我们注意到Nimbus LookAndFeel(当前JRE版本附带)使用完全不同的颜色键,因此许多东西看起来完全不合适。
例如,虽然所有其他库存LookAndFeels(Metal,Windows Classic,Windows,CDE / Motif,GTK)都将关键“text”定义为文本的明亮背景,并将“textText”定义为相应的前景色,但Nimbus中的“text”实际上是黑色前景色,标准文本背景色似乎不存在。
“TextField.background”可以工作,但例如,对于Windows LookAndFeels来说,这并不存在。
我想你现在已经明白了这个问题。我不想为每个LF维护一组颜色键,谁知道将来会添加什么LF,我的公司可能会决定使用哪些LAM。
当然,一个简单的解决方案是摆脱Nimbus,但可以理解的是,我的老板根本不喜欢这个想法,此外Nimbus现在是JRE的一部分,应该得到支持。
所以我想知道是否有任何标准化的方法可以获得依赖于LAF的颜色,例如“文本背景/前景”,“所选文本bg / fg”等?