gpt4 book ai didi

java - 为什么当我更改 Java 8 版本(从 8u45 到 8u171)时我的颜色主题会改变?

转载 作者:行者123 更新时间:2023-11-30 10:02:01 25 4
gpt4 key购买 nike

我有一个可以使用两个不同版本的 java 启动的应用程序:

  • 使用 8u45,我的应用程序变成了蓝色阴影 application blue
  • 使用 8u171,我的应用程序获得白色阴影 application white

我检查了应用程序中的 lookandfile 初始化,但它似乎不会影响此行为。

我使用的是 Swing 和 Jide 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://learn.microsoft.com/en-us/windows/win32/sysinfo/targeting-your-application-at-windows-8-1

这样当你用这个版本的 java 启动一个 jvm 时,它会考虑 windows 8.1 操作系统名称并应用其皮肤。快速测试可以通过使用旧的 jdk 8u45 显示 System.getProperty("os.name") 来支持此语句: System.getProperty("os.name")

我想 java 8 的更高版本修复了这个问题并检索了好的操作系统名称。例如使用 jdk u171 :

System.getProperty("os.name")

关于java - 为什么当我更改 Java 8 版本(从 8u45 到 8u171)时我的颜色主题会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57187202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com