RFR: 8348760: RadioButton is not shown if JRadioButtonMenuItem is rendered with ImageIcon in WindowsLookAndFeel [v30]

Alexey Ivanov aivanov at openjdk.org
Fri Jul 4 13:20:47 UTC 2025


On Fri, 4 Jul 2025 03:23:54 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> After your latest fix, the accelerator doesn't get painted over the menu text, but the positioning is still way off.
>> 
>> With the added column for the icon the menu width has to increase but it hasn't. Instead, the width remains the same, and you squeeze both check mark / bullet and icon to the same allocated space.
>> 
>> The position of the check mark must not change in the new layout. In old rendering code, the was 29-pixel margin between the left edge and first pixel of the check mark (at 200% scale), but now it's reduced to 23 pixels only.
>> 
>> There was 24-pixel margin between an icon and text, but now it's only 6 pixels.
>> 
>> The margin between menu text and accelerator is reduced from 12 pixels to 4.
>> 
>> The menu looks too crowded, squished. You have to properly add *a new column for the icon* with margins around it whenever a popup menu has a JCheckBoxMenuItem or JRadioButtonMenuItem with an icon.
>
> I guess the positioning with latest PR today should be ok
> 
> ![image](https://github.com/user-attachments/assets/f54247e8-6cbc-4b63-972f-90a155d5bbc1)

No, it still match the style and margins that we see in Windows File Explorer.

The latest fix doesn't change much, *the width of the menu hasn't changed*: you just move the elements around trying to fit more into the same space, which unavoidably reduces margins between elements.

The margin between the check mark / bullet and the icon should be larger, that popup menu in Windows File Explorer has 35 pixel-margin between the check mark and the icon, the latest version of the fix in this review has only 7 pixels.

The width allocated for the popup menu has to increase where both check marks / bullets and icons need to be rendered.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23324#discussion_r2185359330


More information about the client-libs-dev mailing list