This has been tracked down to be a regression of JDK-8294427 [1] which introduced the dependency on the OpenThemeDataForDpi [2] function from Windows API. The function is available since Windows 10 version 1703.

The code review [3] for JDK-8294427 has a discussion [4] on whether support for older versions of Windows should be considered.

At that time, it was deemed infeasible [5] to provide this support.

The compatibility problem is now tracked as JDK-8321151 [6].


[1] https://bugs.openjdk.org/browse/JDK-8294427
[2] https://learn.microsoft.com/en-us/windows/win32/api/uxtheme/nf-uxtheme-openthemedatafordpi
[3] https://github.com/openjdk/jdk/pull/13701
[4] https://github.com/openjdk/jdk/pull/13701#discussion_r1180829485
[5] https://github.com/openjdk/jdk/pull/13701#discussion_r1227202738
[6] https://bugs.openjdk.org/browse/JDK-8321151

--
Regards,
Alexey

On 2023-11-27 14:43, Simon Nash wrote:
Yes, definitely OK on JDK 21.0.1 and not OK on JDK 22 b16.

Simon

On 25/11/2023 22:57, Philip Race wrote:
I'm stumped then. Definitely not a problem with JDK 21u1 ?
https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_windows-x64_bin.zip

Try some earlier JDK 22 build too - looks like b16 is the earliest that is available for download https://download.java.net/java/early_access/jdk22/16/GPL/openjdk-22-ea+16_windows-x64_bin.zip

-phil.

On 11/25/23 1:46 PM, Simon Nash wrote:
I tried this with JDK 22 b22 and I got the same result. I will investigate further.

Simon

On 25/11/2023 18:33, Philip Race wrote:
Re-read the last line of my previous email and you'll see the answer.

-phil.

On 11/25/23 2:09 AM, Simon Nash wrote:
Thanks for confirming that this change was not intentional. I am using the JDK 22 b24 EA build. When was the Windows compiler and SDK updated?

Simon

On 24/11/2023 23:30, Philip Race wrote:
I don't recall anything specific to this. Since you say "current EA build", does that imply very recently ? My guess is that it is fall out from upgrading the Windows compiler + SDK and we are no longer able to load the uxtheme library on Windows 7 needed for the WindowsL&F. Note that it has been several years since anyone supported or tested Windows 7. If you can confirm this started with JDK 22 b23 that would pretty much confirm the theory.

-phil.

On 11/24/23 3:08 PM, Simon Nash wrote:
In the current EA build of JDK 22, selecting WindowsLookAndFeel on Windows 7 shows the same (ugly) UI style as WindowsClassicLookAndFeel.

With JDK 22 on Windows 10 and also with JDK 21 and below on both Windows 7 and Windows 10, this works as expected with different styles for WindowsLookAndFeel and WindowsClassicLookAndFeel.

Is this an intentional change in JDK 22 or a bug? If it is intentional, what was the reason?

Thanks, Simon










Reply via email to