Swing - 更改Windows主题会重置自定义边框,插图和背景

时间:2018-06-13 13:44:19

标签: java windows swing themes look-and-feel

更改Windows主题/设计时,UI会对这些更改做出反应,重置自定义组件背景,边框和插图。

例如,我们有一些JScrollPane,我们已将Border设置为null。每个JScrollPane Border都会重置为自定义值,这不是null

通过UIManager.put(...)设置给定密钥也不会产生任何影响,因为UIManager值未应用于此类重置。

除了编写定制的L& F之外,还有什么方法可以解决这个问题吗?

有什么方法可以解决这个问题吗?

一些运行时信息(如果有人想知道):

  • 操作系统:Windows 10 64位
  • JDK:8u172 64位

1 个答案:

答案 0 :(得分:3)

重新设置Look-n-Feel可以全局重置所有边框,颜色,字体等。特别是当它们重置为null时。因此,如果您想要保护边框免受此重置,则需要替换:

myComponent.setBorder(null);

myComponent.setBorder(BorderFactory.createEmptyBorder());