<Swing Dev> <AWT Dev> [10] Review request for 8182043: Access to Windows Large Icons
Semyon Sadetsky
semyon.sadetsky at oracle.com
Fri Sep 22 17:29:22 UTC 2017
Hi Alexey,
On 09/22/2017 09:43 AM, Alexey Ivanov wrote:
> Hi Semyon,
>
> On 22/09/2017 17:13, Semyon Sadetsky wrote:
>> Hi Alexey,
>>
>> Thank you for your exact clarification.
>>
>> On 09/22/2017 04:22 AM, Alexey Ivanov wrote:
>>> <SNIP>
>>>
>>> As for FILE_ICON_SMALL and FILE_ICON_LARGE, I'd suggest using
>>> Windows API to retrieve the recommended size for small and large
>>> icon size rather than defaulting to 16×16 and 32×32. If HiDPI is in
>>> effect, the icons must be larger.
>> I also found this as most suitable approach for the moment.
>> Later this may be changed, for example, if Swing JFC is re-factored
>> to support shell determined icon sizes at HiDPI.
>
> Swing UI scales to accommodate HiDPI settings. If fonts are larger
> then icons should be larger too. Otherwise icons are too small
> compared to surrounding text.
>
> Anyway it could be postponed to a later fix.
>
> Does it make sense to declare the standard sizes of 16×16 and 32×32 as
> constants at least in Java sources? This way, it would be easier to
> find the places in code where a change is necessary.
This topic requires more investigations. At first, we need to keep the
API cross-platform and this requires comparing all supported platforms
in details. At the second, even for the existing windows implementation
there is an ambiguity in icons sizes received form the OS shell. Windows
platform has number of predefined constants to query icon sizes (small,
large, extra large, jumbo...) but their actual size may differ depending
on the shell preferences.
Those icon sizes may be changed by Windows registry settings and may
depend on the hi-res scale. I did several experiments and found that
depending on the way of desktop scaling in Windows 10 (it has two ways
the new one and the old) at the same scale 2x the returned large icon,
for example, may be 32 or 64 pixels in size (this was the root cause of
the 8151385 bug).
I would postpone digging in this direction because we are not planning
to update Swing JFC dialog for better HiDPI view in the nearest future.
Also,we don't have statistics how users may use the API. Since that, the
most flexible API that leaves to the user the decision about icon size
to query seems more preferable.
--Semyon
>
>
> Regards,
> Alexey
>
>>
>>
>> --Semyon
>>>
>>>
>>> Regards,
>>> Alexey
>>>
>>>>
>>>>> <SNIP>
>>>>>>
>>>>>>>> On 9/13/17 11:01, Semyon Sadetsky wrote:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> Please review fix for JDK10 (the changes involve AWT and Swing):
>>>>>>>>>
>>>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8182043
>>>>>>>>>
>>>>>>>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8182043/webrev.00/
>>>>>>>>>
>>>>>>>>> The fix opens the part of the ShellFolder API for getting
>>>>>>>>> system icons which was decided to be left closed during the
>>>>>>>>> 8081722 enhancement review in 9.
>>>>>>>>>
>>>>>>>>> Also the fix extends the API by adding possibility to query
>>>>>>>>> file icons of arbitrary size and implements this extension for
>>>>>>>>> Windows platform.
>>>>>>>>>
>>>>>>>>> --Semyon
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
More information about the swing-dev
mailing list