On Thu, 19 Feb 2026 03:34:55 GMT, Prasanta Sadhukhan <[email protected]> 
wrote:

>> [JDK-8348760](https://bugs.openjdk.org/browse/JDK-8348760) fixed an issue in 
>> Windows L&F JMenuItem layout whereby radio bullet/checkmark was rendered in 
>> different columnspace than menuitem imageicon so radiobullet/checkmark is 
>> rendered in first column and imageicon is rendered in 2nd column but this 
>> rendering of imageicon in 2nd columnspace was done invariably for all 
>> JMenuItem irrespective of if it is JRadioButtonMenuItem or JCheckBoxMenuItem 
>> or JMenuItem, which is wrong.
>> 
>> Normal JMenuItem (which are not JRadioButtonMenuItem or JCheckBoxMenuItem) 
>> imageicon rendering should be done in first columnspace as was done before 
>> JDK-8348760 fix because there is no radiobullet/checkmark to render for 
>> those menuitems so no need to reserve columnspace for those bullet/checkmark 
>> icon
>> 
>> Before fix
>> 
>> <img width="205" height="127" alt="image" 
>> src="https://github.com/user-attachments/assets/13a1e352-5e8d-4251-b7a7-032935eab74e";
>>  />
>> 
>> 
>> After fix
>> 
>> <img width="195" height="131" alt="image" 
>> src="https://github.com/user-attachments/assets/84ec3ee6-2823-4bf7-840d-b53f2e9d44c3";
>>  />
>
> Prasanta Sadhukhan has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Fix

The native app menu (where ImageIcon and check are on the same row), as 
described in https://github.com/openjdk/jdk/pull/29730#issuecomment-3919123593 
looks like this:

<img width="213" height="214" alt="good" 
src="https://github.com/user-attachments/assets/32cc8f63-5c77-4831-ad7f-4b324af63429";
 />

This is rendered correctly (thanks to this fix).
However, we haven’t found a native app menu that corresponds to 
`test/jdk/javax/swing/JMenuItem/TestRadioAndCheckMenuItemWithIcon.java`, so I'm 
not sure the following claim holds:

> kept the JMenuItem imageicon alignment as it seems to be at par with native 
> app for normal non-radio/non-check JMenuItem (as mentioned here #29730 
> (comment))

Also, in Nimbus and Metal, the square is left-aligned:

Numbus
<img width="271" height="217" alt="numbus" 
src="https://github.com/user-attachments/assets/4a5f7148-510e-4106-9533-f49cf5a83a25";
 />

Metal
<img width="241" height="218" alt="metal" 
src="https://github.com/user-attachments/assets/ddbfa109-fb8c-48ae-b12a-bd56e8c4d876";
 />

If the alignment in Windows LAF and Nimbus (or Metal) is required to be the 
same, then this fix is still not sufficient.
However, I don’t actually know whether they are required to match. Because of 
that, although it feels a bit unintuitive to me, I’m not sure what the correct 
behavior should be.

I’m sorry that I can only point this out without being able to provide a clear 
suggestion.

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

PR Comment: https://git.openjdk.org/jdk/pull/29730#issuecomment-3926380644

Reply via email to