RFR: 8348760: RadioButton is not shown if JRadioButtonMenuItem is rendered with ImageIcon in WindowsLookAndFeel [v5]
Prasanta Sadhukhan
psadhukhan at openjdk.org
Thu Jan 30 14:59:52 UTC 2025
On Thu, 30 Jan 2025 14:42:33 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:
>> The bug says
>>
>>> in case icon is defined for JCheckBoxMenuItem or
>>> JRadioButtonMenuItem this icon is used as a check/radio mark. themed
>>> background is used to show the selection.
>>
>> so I guess it was done intentionally to not draw checkmark if icon is there, but I am not getting any menuitem with icon and radiobutton selection natively in windows11 to compare..anything in windows10?
>
>> The bug says
>>
>> > in case icon is defined for JCheckBoxMenuItem or
>> > JRadioButtonMenuItem this icon is used as a check/radio mark. themed
>> > background is used to show the selection.
>>
>> so I guess it was done intentionally to not draw checkmark if icon is there, but I am not getting any menuitem with icon and radiobutton selection natively in windows11 to compare..anything in windows10?
>
> I think so. Vista and Windows 7 had a kind of separator in the menu between text and icons.
>
> 
> This screenshot shows how menu looked like in Windows 7, the *Word Wrap* item is selected.
>
> I don't think Windows has ever supported both icons and bullets / check marks… unless you drew menu items yourself.
>
> The icons in menus were always displayed in that area. The right-click menu on the desktop in Windows 10 is a good example; Windows 11 uses a completely different style of menus on the desktop and in Explorer.
>
>
> I can't find any native Windows app which displayed both states. The closest I found are Paint.NET and VirtualBox.
>
> Paint.NET
> 
>
> Here *Pixel Grid* is selected. It uses a selected background and a highlight square around the icon. The *Pixels* item is also selected, but it has no icon, it displays a check-mark (even though it should've been a bullet: only one of _Pixels_, _Inches_, _Centimeters_ can be selected).
>
> VirtualBox
> 
>
> In this case, the *Pause* item is selected. VirtualBox adds both a selected background as well as a check-mark overlay to indicate the item is currently selected.
>
> Neither Paint.NET nor VirtualBox fully rely on Windows to render their menus, either app uses owner-drawn menus or its own controls.
I found one in windows11 in Explorer which seems to use both icon and bullet checkmark and the present PR do the same

-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23324#discussion_r1935744523
More information about the client-libs-dev
mailing list