RFR: 8346753: Test javax/swing/JMenuItem/RightLeftOrientation/RightLeftOrientation.java fails on Windows Server 2025 x64 because the icons of RBMenuItem and CBMenuItem are not visible in Nimbus LookAndFeel [v5]

Alexey Ivanov aivanov at openjdk.org
Mon Jul 7 14:56:41 UTC 2025


On Mon, 7 Jul 2025 14:02:11 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> Issue is RadioButtonMenuItem and CheckBoxMenuItem bullet/checkmark icon is not displayed in WindowsL&F when the test is run with NimbusL&F.
>> This is because `WindowsIconFactory#VistaMenuItemCheckIcon.paintIcon` called `getLaFIcon()` which returns a empty NimbusIcon which causes no icons to be drawn. This is because the test after setting WIndows L&F of the menuitem reverts back the Windows L&F to Nimbus L&F via `UIManager.setLookAndFeel(save);` call in the test so when frame is made visible, the L&F resets back to Nimbus L&F resulting in null NimbusIcon.
>> 
>> Fix is made to make sure the whole frame is updated to cater to L&F change via `SwingUtilities.updateComponentTreeUI(frame);` call and keep the L&F without reverting back to original L&F..
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   formatting

Changes requested by aivanov (Reviewer).

test/jdk/javax/swing/JMenuItem/RightLeftOrientation.java line 74:

> 72: import javax.swing.KeyStroke;
> 73: import javax.swing.LookAndFeel;
> 74: import javax.swing.SwingConstants;

Suggestion:

import javax.swing.KeyStroke;
import javax.swing.SwingConstants;

`LookAndFeel` is unused now.

test/jdk/javax/swing/JMenuItem/RightLeftOrientation.java line 80:

> 78: public class RightLeftOrientation {
> 79: 
> 80:     static volatile JFrame frame;

Not needed in the current test state.

test/jdk/javax/swing/JMenuItem/RightLeftOrientation.java line 125:

> 123: 
> 124:     private static JFrame createTestUI() {
> 125:         frame = new JFrame("RightLeftOrientation");

`frame` should be a *local* variable again.

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

PR Review: https://git.openjdk.org/jdk/pull/25907#pullrequestreview-2994214963
PR Review Comment: https://git.openjdk.org/jdk/pull/25907#discussion_r2190317498
PR Review Comment: https://git.openjdk.org/jdk/pull/25907#discussion_r2190321712
PR Review Comment: https://git.openjdk.org/jdk/pull/25907#discussion_r2190323195


More information about the client-libs-dev mailing list