我正在编写游戏代码,我正在使用KeyAdapter类进行键盘输入,但我遇到了问题。我正在扩展和使用KeyAdapter类的功能如下
class Kadapter extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
//here i will write required code
}
}
当我在所有课程之外写作时,我在覆盖按下的功能键时没有任何错误 但现在假设我在任何其他类中定义它,如此处所示
class Arena extends JPanel {
Player pl;
Arena() {
pl = new Player();
}
class Kadapter extends KeyAdapter {
@Override
public void KeyPressed(KeyEvent e) {
}
}
}
然后我在覆盖函数keyPressed时遇到错误。任何人都可以告诉我原因。我想在竞技场类中定义它,因为我需要在Kadapter类中使用相同的播放器类实例。好吧,我可以通过函数传递该实例。但我的问题是,为什么我们不能在竞技场类中覆盖相同的功能。我会找到关于玩家问题的任何替代解决方案,这不是问题,但请告诉我有关此覆盖问题。我很好奇。
答案 0 :(得分:0)
您可以在嵌套类中定义和实现。应该没有任何问题。
到目前为止,我只能看到问题是方法名称是 KeyPressed 。
class Arena extends JPanel {
Player pl;
Arena() {
pl = new Player();
}
class Kadapter extends KeyAdapter {
@Override
public void KeyPressed(KeyEvent e) {
}
}
}
应该是 keyPressed
k作为小写!