为什么当我更改 java 8 版本(从 8u45 到 8u171)时我的颜色主题会发生变化?
Why my color theme change when I change java 8 version (from 8u45 to 8u171)?
我有一个可以使用两个不同版本 java:
启动的应用程序
- 使用 8u45,我的应用程序变成了蓝色阴影
- 使用 8u171,我的应用程序出现白色阴影
我检查了应用程序中的 lookandfile 初始化,但它似乎不会影响此行为。
我用的是Swing和极德3.6.0库
有人知道为什么当我将 java 版本从 8u45 升级到 8u171 时会发生这种行为吗?
感谢您的帮助:)
编辑:
申请 运行 Windows。
我使用 com.sun.java.swing.plaf.windows.WindowsLookAndFeel,由 UIManager.getLookAndFeel()
给出
链接到系统属性os.name。自 windows 8.1 起,GetVersionEx 函数已被弃用,而旧版本的 java 8 例如 8u45 是基于此函数来提供此系统的 属性.
更多信息:https://docs.microsoft.com/en-us/windows/win32/sysinfo/targeting-your-application-at-windows-8-1
因此,当您使用此版本 java 启动 jvm 时,它会考虑 windows 8.1
os 命名并应用它的皮肤。
快速测试可以通过显示 System.getProperty("os.name") 和旧的 jdk 8u45 来支持此声明:
我支持 ose 更高版本的 java 8 修复了这个问题并检索了好的 os 名称。例如 jdk u171 :
我有一个可以使用两个不同版本 java:
启动的应用程序- 使用 8u45,我的应用程序变成了蓝色阴影
- 使用 8u171,我的应用程序出现白色阴影
我检查了应用程序中的 lookandfile 初始化,但它似乎不会影响此行为。
我用的是Swing和极德3.6.0库
有人知道为什么当我将 java 版本从 8u45 升级到 8u171 时会发生这种行为吗?
感谢您的帮助:)
编辑:
申请 运行 Windows。
我使用 com.sun.java.swing.plaf.windows.WindowsLookAndFeel,由 UIManager.getLookAndFeel()
给出链接到系统属性os.name。自 windows 8.1 起,GetVersionEx 函数已被弃用,而旧版本的 java 8 例如 8u45 是基于此函数来提供此系统的 属性.
更多信息:https://docs.microsoft.com/en-us/windows/win32/sysinfo/targeting-your-application-at-windows-8-1
因此,当您使用此版本 java 启动 jvm 时,它会考虑 windows 8.1
os 命名并应用它的皮肤。
快速测试可以通过显示 System.getProperty("os.name") 和旧的 jdk 8u45 来支持此声明:
我支持 ose 更高版本的 java 8 修复了这个问题并检索了好的 os 名称。例如 jdk u171 :