From adf3a94dab8c76de79396937d2d2d5e6e77a9e57 Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Tue, 20 May 2025 13:00:30 +0530 Subject: [PATCH 1/9] 8357305: Compilation failure in javax/swing/JMenuItem/bug6197830.java --- .../jdk/javax/swing/JMenuItem/bug6197830.java | 147 +++++++++++++++++- 1 file changed, 143 insertions(+), 4 deletions(-) diff --git a/test/jdk/javax/swing/JMenuItem/bug6197830.java b/test/jdk/javax/swing/JMenuItem/bug6197830.java index 58fd9a76e23c9..fa3f0ee4207b3 100644 --- a/test/jdk/javax/swing/JMenuItem/bug6197830.java +++ b/test/jdk/javax/swing/JMenuItem/bug6197830.java @@ -31,6 +31,26 @@ * @run main/manual bug6197830 */ +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.ComponentOrientation; +import java.awt.Graphics; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; +import java.util.List; +import javax.swing.AbstractAction; +import javax.swing.Icon; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JRadioButtonMenuItem; +import javax.swing.KeyStroke; +import javax.swing.UIManager; + public class bug6197830 { private static final String INSTRUCTIONS = """ @@ -51,24 +71,143 @@ public static void main(String[] args) throws Exception { } private static List createTestUI() { - JFrame frame1 = MenuItemTest.doMenuItemTest(true, + JFrame frame1 = getMenuItemTestFrame(true, "com.sun.java.swing.plaf.motif.MotifLookAndFeel", 20); frame1.setLocation(300, 300); - JFrame frame2 = MenuItemTest.doMenuItemTest(false, + JFrame frame2 = getMenuItemTestFrame(false, "com.sun.java.swing.plaf.motif.MotifLookAndFeel", 20); frame2.setLocation((int)(frame1.getLocation().getX() + frame1.getWidth() + 100), 300); - JFrame frame3 = MenuItemTest.doMenuItemTest(true, + JFrame frame3 = getMenuItemTestFrame(true, "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); frame3.setLocation(300, (int)(frame1.getLocation().getY() + frame1.getHeight() + 100)); - JFrame frame4 = MenuItemTest.doMenuItemTest(false, + JFrame frame4 = getMenuItemTestFrame(false, "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); frame4.setLocation((int)(frame3.getLocation().getX() + frame3.getWidth() + 100), (int)frame3.getLocation().getY()); return List.of(frame1, frame2, frame3, frame4); } + + public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int frameY) { + try { + UIManager.setLookAndFeel(lafName); + } catch (Exception e) { + e.printStackTrace(); + } + + JMenu menu = new JMenu("View"); + menu.setMnemonic('V'); + + menu.add(new JMenuItem("Refresh")); + menu.add(new JMenuItem("Customize...")); + menu.add(new JCheckBoxMenuItem("Show Toolbar")); + menu.addSeparator(); + menu.add(new JRadioButtonMenuItem("List")); + menu.add(new JRadioButtonMenuItem("Icons")); + JRadioButtonMenuItem rm2 = new JRadioButtonMenuItem("And icon."); + rm2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, + KeyEvent.SHIFT_MASK)); + menu.add(rm2); + JRadioButtonMenuItem mi3 = new JRadioButtonMenuItem("Radio w/icon"); + + Icon myIcon = new Icon() { // 10 pixel red + public void paintIcon(Component c, Graphics g, int x, int y) { + Color color = g.getColor(); + g.setColor(Color.RED); + g.fillRect(x, y, 10, 10); + g.setColor(color); + } + + public int getIconWidth() { + return 10; + } + + public int getIconHeight() { + return 10; + } + }; + + Icon myIcon2 = new Icon() { // 15 pixel green + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + Color color = g.getColor(); + g.setColor(Color.GREEN); + g.fillRect(x, y, 15, 10); + g.setColor(color); + } + + public int getIconWidth() { + return 15; + } + + public int getIconHeight() { + return 10; + } + }; + + rm2.setIcon(myIcon2); + + mi3.setIcon(myIcon); + menu.add(mi3); + menu.add(new JMenuItem(myIcon2)); + + final JMenu menu2 = new JMenu("No nothing"); + menu2.add("One").addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + System.out.println("menu.width = "+menu2.getPopupMenu().getWidth()); + } + }); + menu2.add("Two").addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + System.out.println("menu.width = "+menu2.getPopupMenu().getWidth()); + } + }); + menu2.add("Threeee").addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + System.out.println("menu.width = "+menu2.getPopupMenu().getWidth()); + } + }); + + JMenuItem mi4 = new JMenuItem("Item with icon"); + mi4.setIcon(myIcon); + menu.addSeparator(); + menu.add(mi4); + + String title = "Menu Item Test " + (isLeft ? "(Left-to-right)" : "(Right-to-left)"); + JFrame frame = new JFrame(title); + frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + + JMenuBar menuBar = new JMenuBar(); + menuBar.add(menu); + menuBar.add(menu2); + + JMenu someIcons = new JMenu("Some icons"); + JMenuItem imi1 = new JMenuItem("Icon!"); + imi1.setIcon(myIcon); + someIcons.add(imi1); + JMenuItem imi2 = new JMenuItem("Wide icon!"); + imi2.setIcon(myIcon2); + someIcons.add(imi2); + someIcons.add(new JCheckBoxMenuItem("CheckBox")); + someIcons.add(new JRadioButtonMenuItem("RadioButton")); + menuBar.add(someIcons); + frame.setJMenuBar(menuBar); + ComponentOrientation co = (isLeft ? + ComponentOrientation.LEFT_TO_RIGHT : + ComponentOrientation.RIGHT_TO_LEFT); + frame.applyComponentOrientation(co); + String shortName = lafName.substring(lafName.lastIndexOf(".")+1); + JLabel label = new JLabel("

"+shortName+"

"); + frame.setLayout(new BorderLayout()); + frame.add(label, BorderLayout.CENTER); + frame.setSize(300, 300); + int frameX = isLeft ? 0 : 600; + frame.setLocation(frameX, frameY); + frame.setVisible(true); + return frame; + } } From 1f027147945eee27859a1f2116c276a720029a91 Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Tue, 20 May 2025 21:43:46 +0530 Subject: [PATCH 2/9] Review comments fixed : Rearranged and reused code by creating a new Helper MenuItemTestHelper.java --- .../MenuItemTestHelper.java} | 195 ++++++++-------- .../JMenuItem/MenuItemTest/bug4729669.java | 63 ++++++ .../JMenuItem/MenuItemTest/bug6197830.java | 77 +++++++ .../jdk/javax/swing/JMenuItem/bug6197830.java | 213 ------------------ 4 files changed, 230 insertions(+), 318 deletions(-) rename test/jdk/javax/swing/JMenuItem/{bug4729669.java => MenuItemTest/MenuItemTestHelper.java} (56%) create mode 100644 test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java create mode 100644 test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java delete mode 100644 test/jdk/javax/swing/JMenuItem/bug6197830.java diff --git a/test/jdk/javax/swing/JMenuItem/bug4729669.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java similarity index 56% rename from test/jdk/javax/swing/JMenuItem/bug4729669.java rename to test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index 815558fc8fdc6..6fcff6ae302d4 100644 --- a/test/jdk/javax/swing/JMenuItem/bug4729669.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,80 +21,39 @@ * questions. */ -/* - * @test - * @bug 4729669 - * @summary 1.4 REGRESSION: Text edge of different types of JMenuItems are not aligned - * @library /java/awt/regtesthelpers - * @build PassFailJFrame - * @run main/manual bug4729669 - */ - +import java.awt.BorderLayout; import java.awt.Color; -import java.awt.ComponentOrientation; import java.awt.Component; +import java.awt.ComponentOrientation; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; - import javax.swing.AbstractAction; import javax.swing.Icon; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; import javax.swing.KeyStroke; +import javax.swing.UIManager; -import java.util.List; - -public class bug4729669 { - - private static final String INSTRUCTIONS = """ - Two windows should appear: Left-to-right and Right-to-left. - Check that text on all the menu items of all menus - is properly vertically aligned."""; - - public static void main(String[] args) throws Exception { - PassFailJFrame.builder() - .title("bug4729669 Instructions") - .instructions(INSTRUCTIONS) - .columns(35) - .testUI(bug4729669::createTestUI) - .position(PassFailJFrame.Position.TOP_LEFT_CORNER) - .logArea() - .build() - .awaitAndCheck(); - } +class MenuItemTestHelper { - private static List createTestUI() { - JFrame f1 = MenuItemTest.doMenuItemTest(true); - f1.setLocation(300, 300); - JFrame f2 = MenuItemTest.doMenuItemTest(false); - f2.setLocation(500, 300); - return List.of(f1, f2); - } -} + public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int frameY) { + boolean applyLookAndFeel = lafName != null; -class MenuItemTest { - public static JFrame doMenuItemTest(boolean isLeft) { - JMenu menu = new JMenu("View"); - menu.setMnemonic('V'); - - menu.add(new JMenuItem("Refresh")); - menu.add(new JMenuItem("Customize...")); - menu.add(new JCheckBoxMenuItem("Show Toolbar")); - menu.addSeparator(); - menu.add(new JRadioButtonMenuItem("List")); - menu.add(new JRadioButtonMenuItem("Icons")); - JRadioButtonMenuItem rm2 = new JRadioButtonMenuItem("And icon."); - rm2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, - KeyEvent.SHIFT_MASK)); - menu.add(rm2); - JRadioButtonMenuItem mi3 = new JRadioButtonMenuItem("Radio w/icon"); + if (applyLookAndFeel) { + try { + UIManager.setLookAndFeel(lafName); + } catch (Exception e) { + e.printStackTrace(); + } + } - Icon myIcon = new Icon() { // 10 pixel red + Icon myIcon = new Icon() { public void paintIcon(Component c, Graphics g, int x, int y) { Color color = g.getColor(); g.setColor(Color.RED); @@ -102,16 +61,11 @@ public void paintIcon(Component c, Graphics g, int x, int y) { g.setColor(color); } - public int getIconWidth() { - return 10; - } - - public int getIconHeight() { - return 10; - } + public int getIconWidth() { return 10; } + public int getIconHeight() { return 10; } }; - Icon myIcon2 = new Icon() { // 15 pixel green + Icon myIcon2 = new Icon() { public void paintIcon(Component c, Graphics g, int x, int y) { Color color = g.getColor(); g.setColor(Color.GREEN); @@ -119,68 +73,99 @@ public void paintIcon(Component c, Graphics g, int x, int y) { g.setColor(color); } - public int getIconWidth() { - return 15; - } - - public int getIconHeight() { - return 10; - } + public int getIconWidth() { return 15; } + public int getIconHeight() { return 10; } }; + JMenuBar menuBar = new JMenuBar(); + menuBar.add(createViewMenu(myIcon, myIcon2)); + menuBar.add(createNoNothingMenu()); + menuBar.add(createSomeIconsMenu(myIcon, myIcon2)); + + String title = "Menu Item Test " + (isLeft ? "(Left-to-right)" : "(Right-to-left)"); + JFrame frame = new JFrame(title); + frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + frame.setJMenuBar(menuBar); + frame.applyComponentOrientation(isLeft ? ComponentOrientation.LEFT_TO_RIGHT : ComponentOrientation.RIGHT_TO_LEFT); + + if (applyLookAndFeel) { + String shortName = lafName.substring(lafName.lastIndexOf('.') + 1); + JLabel label = new JLabel("

" + shortName + "

"); + frame.setLayout(new BorderLayout()); + frame.add(label, BorderLayout.CENTER); + } + + frame.setSize(300, 300); + frame.setLocation(isLeft ? 0 : 600, frameY); + frame.setVisible(true); + return frame; + } + + public static JFrame getMenuItemTestFrame(boolean isLeft) { + return getMenuItemTestFrame(isLeft, null, 20); + } + + private static JMenu createViewMenu(Icon myIcon, Icon myIcon2) { + JMenu menu = new JMenu("View"); + menu.setMnemonic('V'); + + menu.add(new JMenuItem("Refresh")); + menu.add(new JMenuItem("Customize...")); + menu.add(new JCheckBoxMenuItem("Show Toolbar")); + menu.addSeparator(); + menu.add(new JRadioButtonMenuItem("List")); + menu.add(new JRadioButtonMenuItem("Icons")); + + JRadioButtonMenuItem rm2 = new JRadioButtonMenuItem("And icon."); + rm2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, KeyEvent.SHIFT_MASK)); rm2.setIcon(myIcon2); + menu.add(rm2); + JRadioButtonMenuItem mi3 = new JRadioButtonMenuItem("Radio w/icon"); mi3.setIcon(myIcon); menu.add(mi3); - menu.add(new JMenuItem(myIcon2)); - final JMenu menu2 = new JMenu("No nothing"); - menu2.add("One").addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - PassFailJFrame.log("menu.width = " + menu2.getPopupMenu().getWidth()); - } - }); - menu2.add("Two").addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - PassFailJFrame.log("menu.width = " + menu2.getPopupMenu().getWidth()); - } - }); - menu2.add("Threeee").addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - PassFailJFrame.log("menu.width = " + menu2.getPopupMenu().getWidth()); - } - }); + menu.add(new JMenuItem(myIcon2)); JMenuItem mi4 = new JMenuItem("Item with icon"); mi4.setIcon(myIcon); menu.addSeparator(); menu.add(mi4); - String title = "Menu Item Test " + (isLeft ? "(Left-to-right)" : "(Right-to-left)"); - JFrame frame = new JFrame(title); - JMenuBar menuBar = new JMenuBar(); - menuBar.add(menu); - menuBar.add(menu2); + return menu; + } + private static JMenu createNoNothingMenu() { + final JMenu menu2 = new JMenu("No nothing"); + + for (String label : new String[]{"One", "Two", "Threeee"}) { + JMenuItem item = new JMenuItem(label); + item.addActionListener(new AbstractAction() { + public void actionPerformed(ActionEvent e) { + int width = menu2.getPopupMenu().getWidth(); + PassFailJFrame.log("menu.width = " + width); + } + }); + menu2.add(item); + } + + return menu2; + } + + private static JMenu createSomeIconsMenu(Icon myIcon, Icon myIcon2) { JMenu someIcons = new JMenu("Some icons"); + JMenuItem imi1 = new JMenuItem("Icon!"); imi1.setIcon(myIcon); someIcons.add(imi1); + JMenuItem imi2 = new JMenuItem("Wide icon!"); imi2.setIcon(myIcon2); someIcons.add(imi2); + someIcons.add(new JCheckBoxMenuItem("CheckBox")); someIcons.add(new JRadioButtonMenuItem("RadioButton")); - menuBar.add(someIcons); - frame.setJMenuBar(menuBar); - ComponentOrientation co = (isLeft ? - ComponentOrientation.LEFT_TO_RIGHT : - ComponentOrientation.RIGHT_TO_LEFT); - frame.applyComponentOrientation(co); - frame.setSize(300, 300); - int frameX = isLeft ? 0 : 600; - frame.setLocation(frameX, 20); - return frame; - } + return someIcons; + } } diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java new file mode 100644 index 0000000000000..e9f8984df185b --- /dev/null +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 4729669 + * @summary 1.4 REGRESSION: Text edge of different types of JMenuItems are not aligned + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @run main/manual bug4729669 + */ + +import javax.swing.JFrame; +import java.util.List; + +public class bug4729669 { + + private static final String INSTRUCTIONS = """ + Two windows should appear: Left-to-right and Right-to-left. + Check that text on all the menu items of all menus + is properly vertically aligned."""; + + public static void main(String[] args) throws Exception { + PassFailJFrame.builder() + .title("bug4729669 Instructions") + .instructions(INSTRUCTIONS) + .columns(35) + .testUI(bug4729669::createTestUI) + .position(PassFailJFrame.Position.TOP_LEFT_CORNER) + .logArea() + .build() + .awaitAndCheck(); + } + + private static List createTestUI() { + JFrame f1 = MenuItemTestHelper.getMenuItemTestFrame(true); + f1.setLocation(300, 300); + JFrame f2 = MenuItemTestHelper.getMenuItemTestFrame(false); + f2.setLocation(500, 300); + return List.of(f1, f2); + } +} + diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java new file mode 100644 index 0000000000000..7e073756fc7db --- /dev/null +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6197830 + * @requires (os.family == "linux") + * @summary Fix for 4729669 does not work on Motif and GTK look and feels + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @run main/manual bug6197830 + */ + +import java.util.List; +import javax.swing.JFrame; + +public class bug6197830 { + + private static final String INSTRUCTIONS = """ + Four windows should appear: Left-to-right and Right-to-left for + the two different Look and Feels (Motif and GTK). + Check that text on all the menu items of all menus is properly + vertically aligned."""; + + public static void main(String[] args) throws Exception { + PassFailJFrame.builder() + .title("bug6197830 Instructions") + .instructions(INSTRUCTIONS) + .columns(35) + .testUI(bug6197830::createTestUI) + .position(PassFailJFrame.Position.TOP_LEFT_CORNER) + .build() + .awaitAndCheck(); + } + + private static List createTestUI() { + JFrame frame1 = MenuItemTestHelper.getMenuItemTestFrame(true, + "com.sun.java.swing.plaf.motif.MotifLookAndFeel", + 20); + frame1.setLocation(300, 300); + JFrame frame2 = MenuItemTestHelper.getMenuItemTestFrame(false, + "com.sun.java.swing.plaf.motif.MotifLookAndFeel", + 20); + frame2.setLocation((int) (frame1.getLocation().getX() + frame1.getWidth() + + 100), 300); + JFrame frame3 = MenuItemTestHelper.getMenuItemTestFrame(true, + "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); + frame3.setLocation(300, (int) (frame1.getLocation().getY() + + frame1.getHeight() + 100)); + JFrame frame4 = MenuItemTestHelper.getMenuItemTestFrame(false, + "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); + frame4.setLocation((int) (frame3.getLocation().getX() + frame3.getWidth() + + 100), + (int) frame3.getLocation().getY()); + return List.of(frame1, frame2, frame3, frame4); + } +} diff --git a/test/jdk/javax/swing/JMenuItem/bug6197830.java b/test/jdk/javax/swing/JMenuItem/bug6197830.java deleted file mode 100644 index fa3f0ee4207b3..0000000000000 --- a/test/jdk/javax/swing/JMenuItem/bug6197830.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * @bug 6197830 - * @requires (os.family == "linux") - * @summary Fix for 4729669 does not work on Motif and GTK look and feels - * @library /java/awt/regtesthelpers - * @build PassFailJFrame - * @run main/manual bug6197830 - */ - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.ComponentOrientation; -import java.awt.Graphics; -import java.awt.event.ActionEvent; -import java.awt.event.KeyEvent; -import java.util.List; -import javax.swing.AbstractAction; -import javax.swing.Icon; -import javax.swing.JCheckBoxMenuItem; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; -import javax.swing.JRadioButtonMenuItem; -import javax.swing.KeyStroke; -import javax.swing.UIManager; - -public class bug6197830 { - - private static final String INSTRUCTIONS = """ - Four windows should appear: Left-to-right and Right-to-left for - the two different Look and Feels (Motif and GTK). - Check that text on all the menu items of all menus is properly - vertically aligned."""; - - public static void main(String[] args) throws Exception { - PassFailJFrame.builder() - .title("bug6197830 Instructions") - .instructions(INSTRUCTIONS) - .columns(35) - .testUI(bug6197830::createTestUI) - .position(PassFailJFrame.Position.TOP_LEFT_CORNER) - .build() - .awaitAndCheck(); - } - - private static List createTestUI() { - JFrame frame1 = getMenuItemTestFrame(true, - "com.sun.java.swing.plaf.motif.MotifLookAndFeel", - 20); - frame1.setLocation(300, 300); - JFrame frame2 = getMenuItemTestFrame(false, - "com.sun.java.swing.plaf.motif.MotifLookAndFeel", - 20); - frame2.setLocation((int)(frame1.getLocation().getX() + frame1.getWidth() - + 100), 300); - JFrame frame3 = getMenuItemTestFrame(true, - "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); - frame3.setLocation(300, (int)(frame1.getLocation().getY() - + frame1.getHeight() + 100)); - JFrame frame4 = getMenuItemTestFrame(false, - "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); - frame4.setLocation((int)(frame3.getLocation().getX() + frame3.getWidth() - + 100), - (int)frame3.getLocation().getY()); - return List.of(frame1, frame2, frame3, frame4); - } - - public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int frameY) { - try { - UIManager.setLookAndFeel(lafName); - } catch (Exception e) { - e.printStackTrace(); - } - - JMenu menu = new JMenu("View"); - menu.setMnemonic('V'); - - menu.add(new JMenuItem("Refresh")); - menu.add(new JMenuItem("Customize...")); - menu.add(new JCheckBoxMenuItem("Show Toolbar")); - menu.addSeparator(); - menu.add(new JRadioButtonMenuItem("List")); - menu.add(new JRadioButtonMenuItem("Icons")); - JRadioButtonMenuItem rm2 = new JRadioButtonMenuItem("And icon."); - rm2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, - KeyEvent.SHIFT_MASK)); - menu.add(rm2); - JRadioButtonMenuItem mi3 = new JRadioButtonMenuItem("Radio w/icon"); - - Icon myIcon = new Icon() { // 10 pixel red - public void paintIcon(Component c, Graphics g, int x, int y) { - Color color = g.getColor(); - g.setColor(Color.RED); - g.fillRect(x, y, 10, 10); - g.setColor(color); - } - - public int getIconWidth() { - return 10; - } - - public int getIconHeight() { - return 10; - } - }; - - Icon myIcon2 = new Icon() { // 15 pixel green - @Override - public void paintIcon(Component c, Graphics g, int x, int y) { - Color color = g.getColor(); - g.setColor(Color.GREEN); - g.fillRect(x, y, 15, 10); - g.setColor(color); - } - - public int getIconWidth() { - return 15; - } - - public int getIconHeight() { - return 10; - } - }; - - rm2.setIcon(myIcon2); - - mi3.setIcon(myIcon); - menu.add(mi3); - menu.add(new JMenuItem(myIcon2)); - - final JMenu menu2 = new JMenu("No nothing"); - menu2.add("One").addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - System.out.println("menu.width = "+menu2.getPopupMenu().getWidth()); - } - }); - menu2.add("Two").addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - System.out.println("menu.width = "+menu2.getPopupMenu().getWidth()); - } - }); - menu2.add("Threeee").addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - System.out.println("menu.width = "+menu2.getPopupMenu().getWidth()); - } - }); - - JMenuItem mi4 = new JMenuItem("Item with icon"); - mi4.setIcon(myIcon); - menu.addSeparator(); - menu.add(mi4); - - String title = "Menu Item Test " + (isLeft ? "(Left-to-right)" : "(Right-to-left)"); - JFrame frame = new JFrame(title); - frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - - JMenuBar menuBar = new JMenuBar(); - menuBar.add(menu); - menuBar.add(menu2); - - JMenu someIcons = new JMenu("Some icons"); - JMenuItem imi1 = new JMenuItem("Icon!"); - imi1.setIcon(myIcon); - someIcons.add(imi1); - JMenuItem imi2 = new JMenuItem("Wide icon!"); - imi2.setIcon(myIcon2); - someIcons.add(imi2); - someIcons.add(new JCheckBoxMenuItem("CheckBox")); - someIcons.add(new JRadioButtonMenuItem("RadioButton")); - menuBar.add(someIcons); - frame.setJMenuBar(menuBar); - ComponentOrientation co = (isLeft ? - ComponentOrientation.LEFT_TO_RIGHT : - ComponentOrientation.RIGHT_TO_LEFT); - frame.applyComponentOrientation(co); - String shortName = lafName.substring(lafName.lastIndexOf(".")+1); - JLabel label = new JLabel("

"+shortName+"

"); - frame.setLayout(new BorderLayout()); - frame.add(label, BorderLayout.CENTER); - frame.setSize(300, 300); - int frameX = isLeft ? 0 : 600; - frame.setLocation(frameX, frameY); - frame.setVisible(true); - return frame; - } -} From 098ea0de57233673c1d0b57ddd4751af60891d5c Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Wed, 21 May 2025 00:01:12 +0530 Subject: [PATCH 3/9] Review comments fixed : Formatting changes,copyright,cosmetic changes,etc --- .../MenuItemTest/MenuItemTestHelper.java | 72 +++++++++---------- .../JMenuItem/MenuItemTest/bug6197830.java | 9 +-- 2 files changed, 34 insertions(+), 47 deletions(-) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index 6fcff6ae302d4..7308a23dd590f 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -53,40 +53,19 @@ public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int fr } } - Icon myIcon = new Icon() { - public void paintIcon(Component c, Graphics g, int x, int y) { - Color color = g.getColor(); - g.setColor(Color.RED); - g.fillRect(x, y, 10, 10); - g.setColor(color); - } - - public int getIconWidth() { return 10; } - public int getIconHeight() { return 10; } - }; - - Icon myIcon2 = new Icon() { - public void paintIcon(Component c, Graphics g, int x, int y) { - Color color = g.getColor(); - g.setColor(Color.GREEN); - g.fillRect(x, y, 15, 10); - g.setColor(color); - } - - public int getIconWidth() { return 15; } - public int getIconHeight() { return 10; } - }; - + Icon myIcon = new ColoredIcon(Color.RED,10,10); + Icon myIcon2 = new ColoredIcon(Color.GREEN,15,10); JMenuBar menuBar = new JMenuBar(); menuBar.add(createViewMenu(myIcon, myIcon2)); menuBar.add(createNoNothingMenu()); menuBar.add(createSomeIconsMenu(myIcon, myIcon2)); - String title = "Menu Item Test " + (isLeft ? "(Left-to-right)" : "(Right-to-left)"); + String title = (isLeft ? "(Left-to-right)" : "(Right-to-left)") + " - Menu Item Test"; JFrame frame = new JFrame(title); - frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setJMenuBar(menuBar); - frame.applyComponentOrientation(isLeft ? ComponentOrientation.LEFT_TO_RIGHT : ComponentOrientation.RIGHT_TO_LEFT); + frame.applyComponentOrientation(isLeft + ? ComponentOrientation.LEFT_TO_RIGHT + : ComponentOrientation.RIGHT_TO_LEFT); if (applyLookAndFeel) { String shortName = lafName.substring(lafName.lastIndexOf('.') + 1); @@ -108,7 +87,6 @@ public static JFrame getMenuItemTestFrame(boolean isLeft) { private static JMenu createViewMenu(Icon myIcon, Icon myIcon2) { JMenu menu = new JMenu("View"); menu.setMnemonic('V'); - menu.add(new JMenuItem("Refresh")); menu.add(new JMenuItem("Customize...")); menu.add(new JCheckBoxMenuItem("Show Toolbar")); @@ -117,7 +95,7 @@ private static JMenu createViewMenu(Icon myIcon, Icon myIcon2) { menu.add(new JRadioButtonMenuItem("Icons")); JRadioButtonMenuItem rm2 = new JRadioButtonMenuItem("And icon."); - rm2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, KeyEvent.SHIFT_MASK)); + rm2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, KeyEvent.SHIFT_DOWN_MASK)); rm2.setIcon(myIcon2); menu.add(rm2); @@ -136,20 +114,17 @@ private static JMenu createViewMenu(Icon myIcon, Icon myIcon2) { } private static JMenu createNoNothingMenu() { - final JMenu menu2 = new JMenu("No nothing"); + final JMenu noMenu = new JMenu("No nothing"); for (String label : new String[]{"One", "Two", "Threeee"}) { JMenuItem item = new JMenuItem(label); - item.addActionListener(new AbstractAction() { - public void actionPerformed(ActionEvent e) { - int width = menu2.getPopupMenu().getWidth(); - PassFailJFrame.log("menu.width = " + width); - } - }); - menu2.add(item); + item.addActionListener((e) -> + PassFailJFrame.log("menu.width = " + + noMenu.getPopupMenu().getWidth())); + noMenu.add(item); } - return menu2; + return noMenu; } private static JMenu createSomeIconsMenu(Icon myIcon, Icon myIcon2) { @@ -168,4 +143,23 @@ private static JMenu createSomeIconsMenu(Icon myIcon, Icon myIcon2) { return someIcons; } + + private record ColoredIcon(Color color, int width, + int height) implements Icon { + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + Color oldColor = g.getColor(); + g.setColor(color); + g.fillRect(x, y, width, height); + g.setColor(oldColor); + } + @Override + public int getIconWidth() { + return width; + } + @Override + public int getIconHeight() { + return height; + } + } } diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java index 7e073756fc7db..7ea1a695fc0f9 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java @@ -49,6 +49,7 @@ public static void main(String[] args) throws Exception { .columns(35) .testUI(bug6197830::createTestUI) .position(PassFailJFrame.Position.TOP_LEFT_CORNER) + .positionTestUIBottomRowCentered() .build() .awaitAndCheck(); } @@ -57,21 +58,13 @@ private static List createTestUI() { JFrame frame1 = MenuItemTestHelper.getMenuItemTestFrame(true, "com.sun.java.swing.plaf.motif.MotifLookAndFeel", 20); - frame1.setLocation(300, 300); JFrame frame2 = MenuItemTestHelper.getMenuItemTestFrame(false, "com.sun.java.swing.plaf.motif.MotifLookAndFeel", 20); - frame2.setLocation((int) (frame1.getLocation().getX() + frame1.getWidth() - + 100), 300); JFrame frame3 = MenuItemTestHelper.getMenuItemTestFrame(true, "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); - frame3.setLocation(300, (int) (frame1.getLocation().getY() - + frame1.getHeight() + 100)); JFrame frame4 = MenuItemTestHelper.getMenuItemTestFrame(false, "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); - frame4.setLocation((int) (frame3.getLocation().getX() + frame3.getWidth() - + 100), - (int) frame3.getLocation().getY()); return List.of(frame1, frame2, frame3, frame4); } } From 22b05bbd56afba4c8a57965ce707d2c2b975162e Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Wed, 21 May 2025 08:27:07 +0530 Subject: [PATCH 4/9] Review comments fixed : Formatting changes,cosmetic changes,PassFailJFrame changes, etc --- .../MenuItemTest/MenuItemTestHelper.java | 40 +++++++++---------- .../JMenuItem/MenuItemTest/bug4729669.java | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index 7308a23dd590f..ddfcc5ec77900 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -26,9 +26,7 @@ import java.awt.Component; import java.awt.ComponentOrientation; import java.awt.Graphics; -import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; -import javax.swing.AbstractAction; import javax.swing.Icon; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; @@ -53,8 +51,8 @@ public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int fr } } - Icon myIcon = new ColoredIcon(Color.RED,10,10); - Icon myIcon2 = new ColoredIcon(Color.GREEN,15,10); + Icon myIcon = new ColoredIcon(Color.RED, 10, 10); + Icon myIcon2 = new ColoredIcon(Color.GREEN, 15, 10); JMenuBar menuBar = new JMenuBar(); menuBar.add(createViewMenu(myIcon, myIcon2)); menuBar.add(createNoNothingMenu()); @@ -144,22 +142,24 @@ private static JMenu createSomeIconsMenu(Icon myIcon, Icon myIcon2) { return someIcons; } - private record ColoredIcon(Color color, int width, - int height) implements Icon { + private record ColoredIcon(Color color, int width, int height) + implements Icon { @Override - public void paintIcon(Component c, Graphics g, int x, int y) { - Color oldColor = g.getColor(); - g.setColor(color); - g.fillRect(x, y, width, height); - g.setColor(oldColor); - } - @Override - public int getIconWidth() { - return width; - } - @Override - public int getIconHeight() { - return height; - } + public void paintIcon(Component c, Graphics g, int x, int y) { + Color oldColor = g.getColor(); + g.setColor(color); + g.fillRect(x, y, width, height); + g.setColor(oldColor); + } + + @Override + public int getIconWidth() { + return width; } + + @Override + public int getIconHeight() { + return height; + } + } } diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java index e9f8984df185b..e053df2f8280a 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java @@ -46,7 +46,7 @@ public static void main(String[] args) throws Exception { .instructions(INSTRUCTIONS) .columns(35) .testUI(bug4729669::createTestUI) - .position(PassFailJFrame.Position.TOP_LEFT_CORNER) + .positionTestUIRightColumn() .logArea() .build() .awaitAndCheck(); From 996bc9e3aeefb9652835881ddf34a1e129380ae4 Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Wed, 21 May 2025 22:43:32 +0530 Subject: [PATCH 5/9] Review comments fixed : Removed unwanted code, location of imports --- .../JMenuItem/MenuItemTest/MenuItemTestHelper.java | 10 +++------- .../javax/swing/JMenuItem/MenuItemTest/bug4729669.java | 4 +--- .../javax/swing/JMenuItem/MenuItemTest/bug6197830.java | 10 ++++------ 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index ddfcc5ec77900..7d247d50f1dce 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -40,17 +40,15 @@ class MenuItemTestHelper { - public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int frameY) { + public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName) { boolean applyLookAndFeel = lafName != null; - if (applyLookAndFeel) { try { UIManager.setLookAndFeel(lafName); } catch (Exception e) { - e.printStackTrace(); + throw new RuntimeException(e); } } - Icon myIcon = new ColoredIcon(Color.RED, 10, 10); Icon myIcon2 = new ColoredIcon(Color.GREEN, 15, 10); JMenuBar menuBar = new JMenuBar(); @@ -73,13 +71,11 @@ public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName, int fr } frame.setSize(300, 300); - frame.setLocation(isLeft ? 0 : 600, frameY); - frame.setVisible(true); return frame; } public static JFrame getMenuItemTestFrame(boolean isLeft) { - return getMenuItemTestFrame(isLeft, null, 20); + return getMenuItemTestFrame(isLeft, null); } private static JMenu createViewMenu(Icon myIcon, Icon myIcon2) { diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java index e053df2f8280a..6518b6b8fae53 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug4729669.java @@ -30,8 +30,8 @@ * @run main/manual bug4729669 */ -import javax.swing.JFrame; import java.util.List; +import javax.swing.JFrame; public class bug4729669 { @@ -54,9 +54,7 @@ public static void main(String[] args) throws Exception { private static List createTestUI() { JFrame f1 = MenuItemTestHelper.getMenuItemTestFrame(true); - f1.setLocation(300, 300); JFrame f2 = MenuItemTestHelper.getMenuItemTestFrame(false); - f2.setLocation(500, 300); return List.of(f1, f2); } } diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java index 7ea1a695fc0f9..c443a31aa5d39 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java @@ -56,15 +56,13 @@ public static void main(String[] args) throws Exception { private static List createTestUI() { JFrame frame1 = MenuItemTestHelper.getMenuItemTestFrame(true, - "com.sun.java.swing.plaf.motif.MotifLookAndFeel", - 20); + "com.sun.java.swing.plaf.motif.MotifLookAndFeel"); JFrame frame2 = MenuItemTestHelper.getMenuItemTestFrame(false, - "com.sun.java.swing.plaf.motif.MotifLookAndFeel", - 20); + "com.sun.java.swing.plaf.motif.MotifLookAndFeel"); JFrame frame3 = MenuItemTestHelper.getMenuItemTestFrame(true, - "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); + "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); JFrame frame4 = MenuItemTestHelper.getMenuItemTestFrame(false, - "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", 420); + "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); return List.of(frame1, frame2, frame3, frame4); } } From b04155cd2c6d88e7d310523453a73f2c456d094d Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Wed, 21 May 2025 22:49:19 +0530 Subject: [PATCH 6/9] Added final modifier to the class MenuItemTestHelper --- .../javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index 7d247d50f1dce..1e1f890718f3c 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -38,7 +38,7 @@ import javax.swing.KeyStroke; import javax.swing.UIManager; -class MenuItemTestHelper { +final class MenuItemTestHelper { public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName) { boolean applyLookAndFeel = lafName != null; From db537cb8acd96496a61c45f8af33aa3475b2099d Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Thu, 22 May 2025 18:33:20 +0530 Subject: [PATCH 7/9] Added blank lines to seperate logic code pieces --- .../javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index 1e1f890718f3c..42256d406fa7b 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -49,8 +49,10 @@ public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName) { throw new RuntimeException(e); } } + Icon myIcon = new ColoredIcon(Color.RED, 10, 10); Icon myIcon2 = new ColoredIcon(Color.GREEN, 15, 10); + JMenuBar menuBar = new JMenuBar(); menuBar.add(createViewMenu(myIcon, myIcon2)); menuBar.add(createNoNothingMenu()); From 64134a5e81ded22889ced3cd1a7efcb6ecefbf0f Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Thu, 22 May 2025 18:45:19 +0530 Subject: [PATCH 8/9] Removed trailing whitespace --- .../javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java index 42256d406fa7b..16b8749058555 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/MenuItemTestHelper.java @@ -52,7 +52,7 @@ public static JFrame getMenuItemTestFrame(boolean isLeft, String lafName) { Icon myIcon = new ColoredIcon(Color.RED, 10, 10); Icon myIcon2 = new ColoredIcon(Color.GREEN, 15, 10); - + JMenuBar menuBar = new JMenuBar(); menuBar.add(createViewMenu(myIcon, myIcon2)); menuBar.add(createNoNothingMenu()); From 36338cac228a816a230ab707c1cb18ef9efe7f3d Mon Sep 17 00:00:00 2001 From: Manukumar V S Date: Thu, 22 May 2025 19:53:18 +0530 Subject: [PATCH 9/9] Removed unwanted code for positioning the UI --- test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java | 1 - 1 file changed, 1 deletion(-) diff --git a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java index c443a31aa5d39..afb1c7bb33f95 100644 --- a/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java +++ b/test/jdk/javax/swing/JMenuItem/MenuItemTest/bug6197830.java @@ -48,7 +48,6 @@ public static void main(String[] args) throws Exception { .instructions(INSTRUCTIONS) .columns(35) .testUI(bug6197830::createTestUI) - .position(PassFailJFrame.Position.TOP_LEFT_CORNER) .positionTestUIBottomRowCentered() .build() .awaitAndCheck();