我已经在我的JFrame中添加了一个新的keyListener。 IntelliJ Idea为我生成了方法keyTyped,keyPressed和keyReleased。我只需要keyPressed方法,所以我想删除其他方法。如果我这样做,则会收到错误消息:java: "classname" is not abstract and does not override abstract method keyReleased(java.awt.event.KeyEvent) in java.awt.event.KeyListener
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
//do something
}
@Override
public void keyReleased(KeyEvent e) {
}
KeyAdapter keyAdapter = new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
}
};
java.awt.event.KeyAdapter
代替KeyListener
。由于这是abstract class
,因此您需要extends KeyAdapter
而不是implements KeyListener
。此方法为所有KeyListener
方法定义了空方法,因此您只需要为要处理的事件编写方法。