RFR: 8370945: With Windows LAF, the location of a JMenuItem icon is incorrect
Daishi Tabata
dtabata at openjdk.org
Tue Feb 17 10:48:20 UTC 2026
On Mon, 16 Feb 2026 01:30:06 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> 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" />
I don't have review permissions, but I'd like to comment on something that caught my eye.
The following image is a screenshot of the test `test/jdk/javax/swing/JMenuItem/TestRadioAndCheckMenuItemWithIcon.java` that was added by [JDK-8348760](https://bugs.openjdk.org/browse/JDK-8348760).
Before
<img width="250" height="248" alt="before" src="https://github.com/user-attachments/assets/51c44938-bf61-44f0-a6fe-f5cf6b05a2c3" />
After
<img width="248" height="247" alt="after" src="https://github.com/user-attachments/assets/b5d01603-3bc7-4f4b-a538-20fcb13e74d9" />
Before this change, the left edges of all the red squares are aligned, and the text of each menu item is also left-aligned.
However, after this change, for menu items without radio buttons or checkboxes, the red squares and the text are misaligned compared to the others.
Is this an expected behavioral change introduced by this fix?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29730#issuecomment-3913870880
More information about the client-libs-dev
mailing list