1
我正在通過動態更改UIDefaults來調整Swing應用程序。最終目標是改變它們中的許多(顏色,字體,大小,邊界等)並將結果保存在每個用戶的基礎上。雖然它可能會給應用程序一些不規範的外觀,但客戶會詢問並且客戶端會收到。如何動態更改Java LAF UIDefaults?
我遇到的唯一問題是GUI將只更新一次。我第一次改變一個UI屬性everthing是很好的,後續的改變不會影響任何東西。
// called from the EDT
// uiKeyName points to some ColorUIResource
UIManager.getDefaults().put(uiKeyName, <<color from color picker>>);
SwingUtilties.updateComponentTreeUI(rootWindow);
它工作一次,但從來沒有再次。想法?
我們不能使用Synth,因爲我們正在定製的第三方LAF不是Synth,我們不能偏離...。下一個版本我會考慮基於Synth的LAF。 ColorUIResources完美運作。謝謝! – basszero 2008-10-31 14:12:48