我有一个自定义的外观和感觉的Java应用程序,用户可以在其中切换光线和黑暗模式。我们所拥有的一个功能是从JPopupMenu类继承的右键单击弹出式菜单。我们添加到菜单的第一件事是一个JLabel:为什么JPopupMenu中的JLabel不尊重其外观和感觉?
add(new JLabel("<html><i> " + field.desc + "</i><br/>field = " + field.getName() + "</html>"));
现在,我们已经改变为L & F代表的JLabel,它们出现在应用程序样式可以正常相当多的地方。我们已经修改:
Label.background
Label.foreground
此外,将L & F到的MenuItems也已通过修改:
PopupMenu.border
PopupMenu.foreground
PopupMenu.background
对于它的价值,我们也对修改的MenuItems类似的性质。
问题是,在弹出式菜单中出现的标签似乎并不尊重背景颜色。在亮和暗模式之间切换时,前景色会改变,但背景色不会。我做了一个屏幕抓取并且滴眼了背景色设置的颜色,并且在我们的L设置中的任何地方都找不到匹配,这似乎暗示它仅仅使用了默认的L(大概是Windows)在上面。
这也许是一个错误?或者我是不是应该设置一些L属性F &?我似乎无法在谷歌领域找到任何人遇到同样的问题,所以任何帮助,将不胜感激。