你可以定义一个Frame myFrame,然后code如下,因为不同窗口下ESC的动作是不同的,所以你可以写你想做的事:
myFrame.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(KeyEvent k) {
if(27 == (int)k.getKeyChar()) {
// do whatever you want
System.out.println("ESC pressed!!!!");
}
});
myFrame.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(KeyEvent k) {
if(27 == (int)k.getKeyChar()) {
// do whatever you want
System.out.println("ESC pressed!!!!");
}
});
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;public class test extends java.awt.Frame{
public test(){
cmd = new Button();
cmd.setLabel("click me");
cmd.setBounds(60, 160, 85, 25);
add(cmd);
tf = new java.awt.TextField();
tf.setBounds(60, 60, 85, 25);
add(tf);
actionCallBack callBack = new actionCallBack();
cmd.addKeyListener(callBack);
}
private class actionCallBack implements KeyListener{
public void keyPressed(KeyEvent ke){
if(Event.ESCAPE == (int)ke.getKeyChar()) {
tf.setText("click Esc");
}
}
public void keyReleased(KeyEvent ke){}
public void keyTyped(KeyEvent ke){}
}
public static void main(String args[]) {
test t = new test();
t.setBounds(-4,-4,240,300);
t.setLayout(null);
t.setTitle("KEYPRESSED");
t.setVisible(true);
}
private Button cmd;
private TextField tf;
}
不过大家的code都是监听ESC 键的事件
我想做的是模拟ESC 键的按下
比如说,我有一个按钮,一click,就激发一个EVENT,这个event 是键盘的
ESC键按下!
public void keyPressed(KeyEvent k) {
if(27 == (int)k.getKeyChar()) {
// do whatever you want
System.out.println("ESC pressed!!!!");
}
});
将这个写成一个函数,再CLICK事件中调用
r.mouseMove(X,Y); //X,Y是相对于整个屏幕的坐标
r.mousePress(InputEvent.BUTTON1_MASK); //模拟点击鼠标左键
r.keyPress( java.awt.event.KeyEvent.VK_ESCAPE );