我有一個自定義的外觀和感覺的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 &?我似乎無法在谷歌領域找到任何人遇到同樣的問題,所以任何幫助,將不勝感激。