我发现我可以使用AWTEventListener做到这一点。
public class Myframe extends frame implements AWTEventListener { ... public Myframe(String title){ super(title); ... this.getToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK); } @Override public void eventDispatched(AWTEvent event) { if(event instanceof KeyEvent){ KeyEvent key = (KeyEvent)event; if(key.getID()==KeyEvent.KEY_PRESSED){ //Handle key presses System.out.println(key.getKeyChar()); //TODO: do something with the key press key.consume(); } } }}


