< prev index next >
test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java
Print this page
*** 20,99 ****
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
! test
! @bug 4799136
! @summary Tests that type-ahead for dialog works and doesn't block program
! @author area=awt.focus
! @run applet TestDialogTypeAhead.html
*/
- // Note there is no @ in front of test above. This is so that the
- // harness will not mistake this file as a test file. It should
- // only see the html file as a test file. (the harness runs all
- // valid test files, so it would run this test twice if this file
- // were valid as well as the html file.)
- // Also, note the area= after Your Name in the author tag. Here, you
- // should put which functional area the test falls in. See the
- // AWT-core home page -> test areas and/or -> AWT team for a list of
- // areas.
- // Note also the 'TestDialogTypeAhead.html' in the run tag. This should
- // be changed to the name of the test.
-
-
- /**
- * TestDialogTypeAhead.java
- *
- * summary:
- */
-
- import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.InvocationTargetException;
- import test.java.awt.regtesthelpers.Util;
-
- //Automated tests should run as applet tests if possible because they
- // get their environments cleaned up, including AWT threads, any
- // test created threads, and any system resources used by the test
- // such as file descriptors. (This is normally not a problem as
- // main tests usually run in a separate VM, however on some platforms
- // such as the Mac, separate VMs are not possible and non-applet
- // tests will cause problems). Also, you don't have to worry about
- // synchronisation stuff in Applet tests they way you do in main
- // tests...
!
! public class TestDialogTypeAhead extends Applet
! {
//Declare things used in the test, like buttons and labels here
static Frame f;
static Button b;
static Dialog d;
static Button ok;
static Semaphore pressSema = new Semaphore();
static Semaphore robotSema = new Semaphore();
static volatile boolean gotFocus = false;
static Robot robot;
public void init()
{
- //Create instructions for the user here, as well as set up
- // the environment -- set the layout manager, add buttons,
- // etc.
-
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
System.err.println(e.toString());
}
}, AWTEvent.KEY_EVENT_MASK);
KeyboardFocusManager.setCurrentKeyboardFocusManager(new TestKFM());
- this.setLayout (new BorderLayout ());
-
f = new Frame("frame");
b = new Button("press");
d = new Dialog(f, "dialog", true);
ok = new Button("ok");
d.add(ok);
--- 20,70 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
! @test
! @key headful
! @bug 4799136
! @summary Tests that type-ahead for dialog works and doesn't block program
! @library ../../regtesthelpers
! @modules java.desktop/sun.awt
! @build Util
! @run main TestDialogTypeAhead
*/
import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.InvocationTargetException;
! public class TestDialogTypeAhead {
//Declare things used in the test, like buttons and labels here
static Frame f;
static Button b;
static Dialog d;
static Button ok;
static Semaphore pressSema = new Semaphore();
static Semaphore robotSema = new Semaphore();
static volatile boolean gotFocus = false;
static Robot robot;
+
+ public static void main(final String[] args) {
+ TestDialogTypeAhead app = new TestDialogTypeAhead();
+ app.init();
+ app.start();
+ }
+
public void init()
{
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
System.err.println(e.toString());
}
}, AWTEvent.KEY_EVENT_MASK);
KeyboardFocusManager.setCurrentKeyboardFocusManager(new TestKFM());
f = new Frame("frame");
b = new Button("press");
d = new Dialog(f, "dialog", true);
ok = new Button("ok");
d.add(ok);
*** 137,156 ****
}//End init()
public void start ()
{
- //Get things going. Request focus, set size, et cetera
- setSize (200,200);
- setVisible(true);
- validate();
try {
robot = new Robot();
} catch (Exception e) {
throw new RuntimeException("Can't create robot:" + e);
}
!
f.setVisible(true);
waitTillShown(b);
System.err.println("b is shown");
f.toFront();
moveMouseOver(f);
--- 108,123 ----
}//End init()
public void start ()
{
try {
robot = new Robot();
} catch (Exception e) {
throw new RuntimeException("Can't create robot:" + e);
}
! f.setLocationRelativeTo(null);
f.setVisible(true);
waitTillShown(b);
System.err.println("b is shown");
f.toFront();
moveMouseOver(f);
< prev index next >