test/java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java
Print this page
*** 24,58 ****
/*
* @test
* @bug 7196547
* @summary Dead Key implementation for KeyEvent on Mac OS X
* @author alexandr.scherbatiy area=awt.event
* @run main deadKeyMacOSX
*/
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
! import sun.awt.OSInfo;
! import sun.awt.SunToolkit;
public class deadKeyMacOSX {
- private static SunToolkit toolkit;
private static volatile int state = 0;
public static void main(String[] args) throws Exception {
if (OSInfo.getOSType() != OSInfo.OSType.MACOSX) {
return;
}
- toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
Robot robot = new Robot();
robot.setAutoDelay(50);
! createAndShowGUI();
// Pressed keys: Alt + E + A
// Results: ALT + VK_DEAD_ACUTE + a with accute accent
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_E);
--- 24,58 ----
/*
* @test
* @bug 7196547
* @summary Dead Key implementation for KeyEvent on Mac OS X
* @author alexandr.scherbatiy area=awt.event
+ * @library ../../../../../lib/testlibrary
+ * @build jdk.testlibrary.OSInfo
* @run main deadKeyMacOSX
*/
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyEvent;
!
! import jdk.testlibrary.OSInfo;
public class deadKeyMacOSX {
private static volatile int state = 0;
public static void main(String[] args) throws Exception {
if (OSInfo.getOSType() != OSInfo.OSType.MACOSX) {
return;
}
Robot robot = new Robot();
robot.setAutoDelay(50);
! createAndShowGUI(robot);
// Pressed keys: Alt + E + A
// Results: ALT + VK_DEAD_ACUTE + a with accute accent
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_E);
*** 65,85 ****
if (state != 3) {
throw new RuntimeException("Wrong number of key events.");
}
}
! static void createAndShowGUI() {
Frame frame = new Frame();
frame.setSize(300, 300);
Panel panel = new Panel();
panel.addKeyListener(new DeadKeyListener());
frame.add(panel);
frame.setVisible(true);
! toolkit.realSync();
panel.requestFocusInWindow();
! toolkit.realSync();
}
static class DeadKeyListener extends KeyAdapter {
@Override
--- 65,85 ----
if (state != 3) {
throw new RuntimeException("Wrong number of key events.");
}
}
! static void createAndShowGUI(Robot robot) {
Frame frame = new Frame();
frame.setSize(300, 300);
Panel panel = new Panel();
panel.addKeyListener(new DeadKeyListener());
frame.add(panel);
frame.setVisible(true);
! robot.waitForIdle();
panel.requestFocusInWindow();
! robot.waitForIdle();
}
static class DeadKeyListener extends KeyAdapter {
@Override