更改Windows主题/设计时,UI会对这些更改做出反应,重置自定义组件背景,边框和插图。
例如,我们有一些JScrollPane
,我们已将Border
设置为null
。每个JScrollPane
Border
都会重置为自定义值,这不是null
。
通过UIManager.put(...)
设置给定密钥也不会产生任何影响,因为UIManager
值未应用于此类重置。
除了编写定制的L& F之外,还有什么方法可以解决这个问题吗?
有什么方法可以解决这个问题吗?一些运行时信息(如果有人想知道):
答案 0 :(得分:3)
重新设置Look-n-Feel可以全局重置所有边框,颜色,字体等。特别是当它们重置为null
时。因此,如果您想要保护边框免受此重置,则需要替换:
myComponent.setBorder(null);
到
myComponent.setBorder(BorderFactory.createEmptyBorder());