是否可以在Java中删除keyTyped和keyReleased方法?

问题描述 投票:0回答:2

我已经在我的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
2个回答
0
投票
KeyAdapter keyAdapter = new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { } };

0
投票
但是,您可以使用java.awt.event.KeyAdapter代替KeyListener。由于这是abstract class,因此您需要extends KeyAdapter而不是implements KeyListener

此方法为所有KeyListener方法定义了空方法,因此您只需要为要处理的事件编写方法。

© www.soinside.com 2019 - 2024. All rights reserved.