< prev index next >

test/java/awt/EventQueue/6980209/bug6980209.java

Print this page

        

*** 25,69 **** @bug 6980209 @summary Make tracking SecondaryLoop.enter/exit methods easier @author Semyon Sadetsky */ import javax.swing.*; import java.awt.*; ! import java.awt.event.ActionEvent; ! import java.awt.event.ActionListener; ! import java.awt.event.KeyEvent; ! import java.awt.event.KeyListener; ! import java.util.logging.Logger; public class bug6980209 implements ActionListener { ! private final static Logger log = ! Logger.getLogger("java.awt.event.WaitDispatchSupport"); public static final int ATTEMPTS = 100; public static final int EVENTS = 5; private static boolean runInEDT; private static JFrame frame; private static int disorderCounter = 0; private static Boolean enterReturn; private static Boolean exitReturn; private static int dispatchedEvents; public static void main(String[] args) throws Exception { System.out.println( "PLEASE DO NOT TOUCH KEYBOARD AND MOUSE DURING THE TEST RUN!"); ! // log.setLevel(java.util.logging.Level.FINE); ! // log.setLevel(java.util.logging.Level.FINEST); try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { frame = new JFrame(); frame.setUndecorated(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setup(frame); } }); testExitBeforeEnter(); System.out.println("Run random test in EDT"); runInEDT = true; testRandomly(); System.out.println("Run random test in another thread"); --- 25,84 ---- @bug 6980209 @summary Make tracking SecondaryLoop.enter/exit methods easier @author Semyon Sadetsky */ + import sun.util.logging.PlatformLogger; + import javax.swing.*; import java.awt.*; ! import java.awt.event.*; public class bug6980209 implements ActionListener { ! private final static PlatformLogger log = ! PlatformLogger.getLogger("java.awt.event.WaitDispatchSupport"); public static final int ATTEMPTS = 100; public static final int EVENTS = 5; private static boolean runInEDT; private static JFrame frame; private static int disorderCounter = 0; private static Boolean enterReturn; private static Boolean exitReturn; private static int dispatchedEvents; + private static JButton button; + private static Point point; public static void main(String[] args) throws Exception { System.out.println( "PLEASE DO NOT TOUCH KEYBOARD AND MOUSE DURING THE TEST RUN!"); ! // log.setLevel(PlatformLogger.Level.FINE); ! // log.setLevel(PlatformLogger.Level.FINEST); try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { frame = new JFrame(); frame.setUndecorated(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setup(frame); } }); + final Robot robot = new Robot(); + robot.delay(100); + robot.waitForIdle(); + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + point = button.getLocationOnScreen(); + } + }); + robot.mouseMove( point.x + 5, point.y + 5 ); + robot.mousePress(InputEvent.BUTTON1_MASK); + robot.mouseRelease(InputEvent.BUTTON1_MASK); + robot.delay(100); + robot.waitForIdle(); + testExitBeforeEnter(); System.out.println("Run random test in EDT"); runInEDT = true; testRandomly(); System.out.println("Run random test in another thread");
*** 100,109 **** --- 115,125 ---- } private static void testRandomly() throws AWTException { disorderCounter = 0; final Robot robot = new Robot(); + robot.setAutoDelay(1); for (int i = 0; i < ATTEMPTS; i++) { enterReturn = null; exitReturn = null; dispatchedEvents = 0; synchronized (bug6980209.class) {
*** 154,171 **** ATTEMPTS); } } private static void setup(final JFrame frame) { ! JButton jButton = new JButton("Button"); ! frame.getContentPane().add(jButton); ! jButton.addActionListener(new bug6980209()); frame.pack(); frame.setVisible(true); ! jButton.setFocusable(true); ! jButton.requestFocus(); ! jButton.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { } @Override --- 170,187 ---- ATTEMPTS); } } private static void setup(final JFrame frame) { ! button = new JButton("Button"); ! frame.getContentPane().add(button); ! button.addActionListener(new bug6980209()); frame.pack(); frame.setVisible(true); ! button.setFocusable(true); ! button.requestFocus(); ! button.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { } @Override
< prev index next >