java - 是否可以删除 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) {
}
解决方案
使用 KeyAdapter 而不是 KeyLestener,并覆盖您需要的方法。
KeyAdapter keyAdapter = new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
}
};
推荐阅读
- javascript - Redux-persist,类型错误:未定义不是函数
- git - 当执行 git reset --soft HEAD~60 来压缩提交时,会删除已经完成的合并,应该避免谁?
- xero-api - 我无法使用 API 断开我的 xero 应用程序
- ios - 翻转和替换 UIView
- javascript - 我无法从客户端脚本多次调用服务器脚本中的函数
- flutter - Flutter GetX Get.back() 或 navigator.pop() 从内存中删除控制器并且无法重新创建它
- powershell - 创建新对象/表,格式正确?
- sql - 仅当匹配唯一时如何连接两个表
- r - 有没有办法克隆由 simmer 创建的“包装”对象?
- swift - 属性 X 不是 T 的成员