From 08506b7c2f653cff30b9e127fd01af6b9fcc0657 Mon Sep 17 00:00:00 2001 From: Mikhail Cherkasov Date: Tue, 26 Nov 2013 17:16:32 +0400 Subject: [PATCH] 8028271: Wrong alt processing during switching between windows Reviewed-by: serb, alexsch --- .../WrongAltProcessing.java | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java b/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java index e09087537c2..fdd7e11978e 100644 --- a/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java +++ b/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java @@ -22,7 +22,7 @@ */ /* @test - @bug 8001633 + @bug 8001633 8028271 @summary Wrong alt processing during switching between windows @author mikhail.cherkasov@oracle.com @run main WrongAltProcessing @@ -44,16 +44,27 @@ public class WrongAltProcessing { private static JTextField mainFrameTf2; private static JTextField secondFrameTf; - public static void main(String[] args) throws AWTException { + public static void main(String[] args) throws Exception { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { return;// miss unsupported platforms. } - createWindows(); + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + createWindows(); + } + }); + sync(); initRobot(); runScript(); - verify(); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + verify(); + } + }); } private static void verify() { @@ -76,7 +87,7 @@ public class WrongAltProcessing { private static void clickWindowsTitle(JFrame frame) { Point point = frame.getLocationOnScreen(); - robot.mouseMove(point.x + (frame.getWidth() / 2), point.y + 5); + robot.mouseMove(point.x + (frame.getWidth() / 2), point.y + frame.getInsets().top / 2); robot.mousePress(InputEvent.BUTTON1_MASK); robot.mouseRelease(InputEvent.BUTTON1_MASK); } @@ -112,6 +123,7 @@ public class WrongAltProcessing { public static void createWindows() { firstFrame = new JFrame("Frame"); firstFrame.setLayout(new FlowLayout()); + firstFrame.setPreferredSize(new Dimension(600,100)); JMenuBar bar = new JMenuBar(); JMenu menu = new JMenu("File"); @@ -146,24 +158,16 @@ public class WrongAltProcessing { firstFrame.pack(); secondFrame = new JFrame("Frame 2"); + secondFrame.setPreferredSize(new Dimension(600,100)); secondFrame.setLocation(0, 150); secondFrameTf = new JTextField(20); secondFrame.add(secondFrameTf); secondFrame.pack(); - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - secondFrame.setVisible(true); - } - }); - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - firstFrame.setVisible(true); - } - }); + + secondFrame.setVisible(true); + + firstFrame.setVisible(true); mainFrameTf1.requestFocus(); - sync(); } }