首页 > 解决方案 > 是否可以删除 Java 中的 keyTyped 和 keyReleased 方法?

问题描述

我在 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) {
}

标签: java

解决方案


使用 KeyAdapter 而不是 KeyLestener,并覆盖您需要的方法。

KeyAdapter keyAdapter = new KeyAdapter() {
    @Override
    public void keyPressed(KeyEvent e) {

    }
};

推荐阅读