【发布时间】:2011-10-27 15:46:09
【问题描述】:
我有一个 JFrame(嗯,一个扩展 JFrame 的类),我想在按下 F5 键时执行一个操作。所以,我让这个类实现了 KeyListener。随之而来的是三种方法,keyPressed、keyReleased 和 keyTyped。
我应该使用哪些方法来监听 F5 是否被按下? keyPressed 还是 keyTyped?我目前有以下内容,但是当我按 F5 时它不会打印任何内容。
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_F5)
System.out.println("F5 pressed");
}
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
【问题讨论】:
-
Swing 被设计为使用键绑定,而不是 KeyListener。
标签: java swing jframe key-bindings keylistener