我已经向我的 JFrame 添加了一个新的 keyListener。 IntelliJ Idea 为我生成了 keyTyped、keyPressed 和 keyReleased 方法。我只需要 keyPressed 方法,所以我想删除其他方法。如果我这样做,我会收到错误:
java:“classname”不是抽象的,不会覆盖 java.awt.event.KeyListener 中的抽象方法 keyReleased(java.awt.event.KeyEvent)
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
//do something
}
@Override
public void keyReleased(KeyEvent e) {
}
最佳答案
你不能,不。 KeyListener
是一个接口(interface),当实现实现
接口(interface)的具体类时,需要实现所有方法。
但是,您可以使用 java.awt.event.KeyAdapter
而不是 KeyListener
。由于这是一个抽象类
,因此您需要扩展 KeyAdapter
而不是实现 KeyListener
。
它为所有 KeyListener
方法定义了空方法,因此您只需为要处理的事件编写方法即可。
关于java - Java中是否可以删除keyTyped和keyReleased方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794411/