Index: modules/swing/src/test/api/java/common/javax/swing/JTextField_NotifyActionRTest.java =================================================================== --- modules/swing/src/test/api/java/common/javax/swing/JTextField_NotifyActionRTest.java (revision 441015) +++ modules/swing/src/test/api/java/common/javax/swing/JTextField_NotifyActionRTest.java (working copy) @@ -35,26 +35,38 @@ protected void setUp() throws Exception { super.setUp(); - frame = new JFrame(); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + frame = new JFrame(); + } + }); } protected void tearDown() throws Exception { if (frame != null) { - frame.dispose(); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + frame.dispose(); + } + }); frame = null; } super.tearDown(); } public void testActionPerformed() throws Exception { - c = new JPanel(); - Container parent = new Panel(); - textField = new JTextField(" "); - frame.getContentPane().add(c); - c.add(parent); - parent.add(textField); - frame.pack(); - frame.setVisible(true); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + c = new JPanel(); + Container parent = new Panel(); + textField = new JTextField(" "); + frame.getContentPane().add(c); + c.add(parent); + parent.add(textField); + frame.pack(); + frame.setVisible(true); + } + }); final Rectangle flag = new Rectangle(); final ActionListener parentListener = new ActionListener() { @@ -73,19 +85,29 @@ SwingWaitTestCase.requestFocusInWindowForComponent(textField); - textField.dispatchEvent(new KeyEvent(textField, - KeyEvent.KEY_PRESSED, - 0, 0, - KeyEvent.VK_ENTER, (char)13)); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + textField.dispatchEvent(new KeyEvent(textField, + KeyEvent.KEY_PRESSED, + 0, 0, + KeyEvent.VK_ENTER, + (char)13)); + } + }); assertEquals("parent's action has been fired", 100, flag.x); assertEquals("textFields action hasn't been fired", 0, flag.y); flag.x = 0; textField.addActionListener(textFieldListener); - textField.dispatchEvent(new KeyEvent(textField, - KeyEvent.KEY_PRESSED, - 0, 0, - KeyEvent.VK_ENTER, (char)13)); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + textField.dispatchEvent(new KeyEvent(textField, + KeyEvent.KEY_PRESSED, + 0, 0, + KeyEvent.VK_ENTER, + (char)13)); + } + }); assertEquals("parent's action hasn't been fired", 0, flag.x); assertEquals("textFields action has been fired", 100, flag.y); }