2017-02-17 26 views
1

我試圖改變材料圖標,comboImage與下面的代碼,但它不工作:使用材料圖標,comboImage不斷

Hashtable h = new Hashtable(); 
h.put("comboImage", FontImage.createMaterial(FontImage.MATERIAL_ARROW_DROP_DOWN, "TitleCommand", 2F)); 
UIManager.getInstance().addThemeProps(h); 
Display.getInstance().getCurrent().refreshTheme(); 

我怎樣才能在代碼更改主題不變?

在此先感謝。

+0

如果您在init()方法使用現有的主題哈希表這種方法應該工作。一旦常量被設置,它就不會像其他主題一樣刷新。 @diamond的方法是正確的,如果你想在運行時改變它 –

回答

2

而是執行此操作:

((DefaultLookAndFeel) UIManager.getInstance().getLookAndFeel()).setComboBoxImage(FontImage.createMaterial(FontImage.MATERIAL_ARROW_DROP_DOWN, "TitleCommand", 2F)); 
+0

謝謝鑽石。它的工作,但DefaultLookAndFeel類已棄用,有沒有其他選擇? –

+0

不是我所知道的,但像上面評論中提到的Shai,你的方法可以工作,但是如果在第一次初始化主題之前在init()方法中正確使用。 DefaultLookAndFeel已被棄用,但不會被刪除。 – Diamond