| JDK 8 |
|---|
| 8-poolResolved |
|
Duplicate :
|
|
|
Duplicate :
|
|
|
Duplicate :
|
|
|
Relates :
|
Here's a test case:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/*
* @test %I% %E%
* @bug 4942216
* @summary Tests 4942216
* @library ../../../../javax/swing/regtesthelpers
* @build SwingTestHelper Test JRobot Assert
* @run main bug4942216
* @author Scott Violet
*/
public class bug4942216 extends SwingTestHelper {
private JTextField textField;
public static void main(String[] args) throws Throwable {
new bug4942216().run(args);
}
protected Component createContentPane() {
textField = new JTextField();
textField.setAutoscrolls(true);
return textField;
}
public void onEDT10() {
robot.moveMouseTo(textField);
robot.mousePress(InputEvent.BUTTON1_MASK);
waitForEvent(textField, MouseEvent.MOUSE_PRESSED);
}
public void onEDT20() {
Point loc = textField.getLocationOnScreen();
robot.mouseMove(loc.x + textField.getWidth() + 10,
loc.y + textField.getHeight() + 10);
waitForEvent(textField, MouseEvent.MOUSE_EXITED);
}
public void onEDT30() {
Point loc = textField.getLocationOnScreen();
textField.setVisible(false);
robot.mouseMove(loc.x + textField.getWidth() + 20,
loc.y + textField.getHeight() + 20);
waitForEvent(textField, MouseEvent.MOUSE_DRAGGED);
}
public void onEDT40() {
robot.mouseRelease(InputEvent.BUTTON1_MASK);
waitForEvent(textField, MouseEvent.MOUSE_RELEASED);
}
}
This relies on SwingTestHelper and other classes which can be found in test/javax/swing/regtesthelpers. On my solaris box running this test produces:
Exception in thread "Thread-1" sun.awt.SunToolkit$InfiniteLoop
> >>>> at sun.awt.SunToolkit.realSync(SunToolkit.java:1424)
> >>>> at SwingTestHelper.controlLoop(SwingTestHelper.java:513)
> >>>> at SwingTestHelper.access$600(SwingTestHelper.java:173)
> >>>> at SwingTestHelper$4.run(SwingTestHelper.java:470)
> >>>> at java.lang.Thread.run(Thread.java:619)
|