WindowsLookAndFeel change in JDK 22
Aleksei Ivanov
alexey.ivanov at oracle.com
Mon Dec 11 15:01:10 UTC 2023
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
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
More information about the client-libs-dev
mailing list