test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java

Print this page

        

*** 19,48 **** * 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. */ - import sun.awt.SunToolkit; - import java.awt.Button; import java.awt.CardLayout; import java.awt.Font; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.Point; import java.awt.Robot; - import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; /** * @test * @bug 6263470 * @summary Tries to change font of MenuBar. Test passes if the font has changed * fails otherwise. * @author Vyacheslav.Baranov: area=menu * @run main MenuBarSetFont */ public final class MenuBarSetFont { --- 19,49 ---- * 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. */ import java.awt.Button; import java.awt.CardLayout; import java.awt.Font; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.Point; import java.awt.Robot; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; + import jdk.testlibrary.OSInfo; + /** * @test * @bug 6263470 * @summary Tries to change font of MenuBar. Test passes if the font has changed * fails otherwise. + * @library ../../../../lib/testlibrary + * @build jdk.testlibrary.OSInfo * @author Vyacheslav.Baranov: area=menu * @run main MenuBarSetFont */ public final class MenuBarSetFont {
*** 64,89 **** frame.validate(); } public static void main(final String[] args) throws Exception { ! if (sun.awt.OSInfo.getOSType() == sun.awt.OSInfo.OSType.MACOSX) { System.err.println("This test is not for OS X. Menu.setFont() is not supported on OS X."); return; } //Components initialization. frame.setMenuBar(mb); mb.setFont(new Font("Helvetica", Font.ITALIC, 5)); final Button button = new Button("Click Me"); button.addActionListener(new Listener()); frame.setLayout(new CardLayout()); frame.add(button, "First"); frame.setSize(400, 400); frame.setVisible(true); ! sleep(); final int fInsets = frame.getInsets().top; //Frame insets without menu. addMenu(); final int fMenuInsets = frame.getInsets().top; //Frame insets with menu. final int menuBarHeight = fMenuInsets - fInsets; --- 65,93 ---- frame.validate(); } public static void main(final String[] args) throws Exception { ! if (OSInfo.getOSType() == OSInfo.OSType.MACOSX) { System.err.println("This test is not for OS X. Menu.setFont() is not supported on OS X."); return; } //Components initialization. frame.setMenuBar(mb); mb.setFont(new Font("Helvetica", Font.ITALIC, 5)); + final Robot r = new Robot(); + r.setAutoDelay(200); + final Button button = new Button("Click Me"); button.addActionListener(new Listener()); frame.setLayout(new CardLayout()); frame.add(button, "First"); frame.setSize(400, 400); frame.setVisible(true); ! sleep(r); final int fInsets = frame.getInsets().top; //Frame insets without menu. addMenu(); final int fMenuInsets = frame.getInsets().top; //Frame insets with menu. final int menuBarHeight = fMenuInsets - fInsets;
*** 94,130 **** addMenu(); } mb.remove(0); frame.validate(); ! sleep(); // Test execution. // On XToolkit, menubar font should be changed to 60. // On WToolkit, menubar font should be changed to default and menubar // should be splitted in 2 rows. mb.setFont(new Font("Helvetica", Font.ITALIC, 60)); - sleep(); ! final Robot r = new Robot(); ! r.setAutoDelay(200); final Point pt = frame.getLocation(); r.mouseMove(pt.x + frame.getWidth() / 2, pt.y + fMenuInsets + menuBarHeight / 2); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); ! sleep(); frame.dispose(); if (clicked) { fail("Font was not changed"); } } ! private static void sleep() { ! ((SunToolkit) Toolkit.getDefaultToolkit()).realSync(); try { Thread.sleep(500L); } catch (InterruptedException ignored) { } } --- 98,133 ---- addMenu(); } mb.remove(0); frame.validate(); ! sleep(r); // Test execution. // On XToolkit, menubar font should be changed to 60. // On WToolkit, menubar font should be changed to default and menubar // should be splitted in 2 rows. mb.setFont(new Font("Helvetica", Font.ITALIC, 60)); ! sleep(r); ! final Point pt = frame.getLocation(); r.mouseMove(pt.x + frame.getWidth() / 2, pt.y + fMenuInsets + menuBarHeight / 2); r.mousePress(InputEvent.BUTTON1_MASK); r.mouseRelease(InputEvent.BUTTON1_MASK); ! sleep(r); frame.dispose(); if (clicked) { fail("Font was not changed"); } } ! private static void sleep(Robot robot) { ! robot.waitForIdle(); try { Thread.sleep(500L); } catch (InterruptedException ignored) { } }