我在类Toolkit中找到了方法addAWTKeyListener,但是无法让窗口正常工作,无论窗口是否有焦点。我的代码如下:使用java.awt.Toolkit捕获全局按键
import java.awt.AWTEvent;
import java.awt.Toolkit;
import java.awt.event.AWTEventListener;
import java.awt.event.KeyEvent;
public class KeyTest {
public static void main(String[] args){
Thread t = new Thread(){
@Override
public void run() {
System.out.println("STARTING");
Toolkit kit = Toolkit.getDefaultToolkit();
kit.addAWTEventListener(new AWTEventListener(){
@Override
public void eventDispatched(AWTEvent event) {
System.out.println("EVENT");
if(event instanceof KeyEvent){
KeyEvent kEvent = (KeyEvent) event;
System.out.println(kEvent.getKeyCode());
}
}
}, AWTEvent.KEY_EVENT_MASK);
while(true);
}
};
t.start();
}
}
有什么我做错了吗?我明白,STARTING打印并且没有错误。偶是根本不叫。
窗口必须得到焦点所有今天的本机操作系统,肯定是可能的,但后来我们也谈论防病毒相关的问题 – mKorbel 2012-03-27 06:41:44