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