簡體   English   中英

當我更改 java 8 版本(從 8u45 到 8u171)時,為什么我的顏色主題會改變?

[英]Why my color theme change when I change java 8 version (from 8u45 to 8u171)?

我有一個應用程序,可以使用兩個不同版本的 Java 啟動:

  • 使用 8u45,我的應用程序會變成藍色應用藍
  • 使用 8u171,我的應用程序獲得白色陰影應用白

我檢查了應用程序中的 lookandfile init 但它似乎不會影響這種行為。

我使用 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 : //docs.microsoft.com/en-us/windows/win32/sysinfo/targeting-your-application-at-windows-8-1

因此,當您使用此版本的 java 啟動 jvm 時,它會考慮 windows 8.1 操作系統名稱並應用其外觀。 一個快速測試可以通過顯示 System.getProperty("os.name") 和舊的 jdk 8u45 來支持這個語句: System.getProperty("os.name")

我想更高版本的 java 8 修復了這個問題並檢索了好的 os 名稱。 例如使用 jdk u171 :

System.getProperty("os.name")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM