Java 类型[classname]必须实现继承的抽象方法KeyListener.keyTyped(KeyEvent)

Java 类型[classname]必须实现继承的抽象方法KeyListener.keyTyped(KeyEvent),java,keylistener,Java,Keylistener,java:我遇到了一个错误,类型Pong.Move1必须实现继承的抽象方法 当我使用KeyListener.keyTypedKeyEvent时。我不明白这是什么意思?帮助?这是我遇到问题的线索 private class Move1 extends Thread implements KeyListener{ public void run(){ addKeyListener(this); while(true){ //hitRight makes you los

java:我遇到了一个错误,类型Pong.Move1必须实现继承的抽象方法 当我使用KeyListener.keyTypedKeyEvent时。我不明白这是什么意思?帮助?这是我遇到问题的线索

private class Move1 extends Thread implements KeyListener{
  public void run(){
    addKeyListener(this);
    while(true){
      //hitRight makes you lose.
      //point is how many times it ricochets.
      if(ball.intersects(borderRight)){
        hitRight = true;
      }
      if(ball.intersects(borderLeft)){
        point++;
      }
  }

}
public void keyPressed(KeyEvent event){
while(event.getKeyCode()==40||event.getKeyCode()=='s'){
direction = DOWN;
Thread.sleep(500);
}
}
public void KeyReleased(KeyEvent event){

}
public void KeyTyped(KeyEvent event){

}

}
我也陷入了困境;我有电话。它表示未处理的异常类型InterruptedException。有什么帮助吗?谢谢。 哦,我忘了什么。 1:当我尝试运行它时,我得到的唯一错误是: 线程main java.lang.Error中出现异常:未解决的编译问题:at Pong.mainPong.java:50。这是公共静态字符串[]args行。我的完整代码在最后,所以你可以看看它plz 2:我正在使用eclipse。 3:我基本上是一个初学者,不是真的 我的完整代码:


与KeyListener相关的第一个错误只是一个案例错误。在Java中,方法和变量的名称如下,并且语言区分大小写,因此必须将方法定义为keyTyped而不是keyTyped。这同样适用于密钥释放

至于第二个错误,您必须进行必要的更改,以处理Threadsleep声明引发的InterruptedException。您可以将该方法调用包围在一个块中。但是,请注意,KeyEvent的keycode永远不会更改,因此这里有一个潜在的无限while循环


我建议阅读一两篇关于实现键侦听器的文章。

为了实现键侦听器,您需要实现该接口包含的所有方法。 这些是:

keyPressed
keyDown
keyTyped
为了使用接口,您必须实现它们的所有方法

此外,Thread.sleep500可能会生成异常。Java基本上要求您处理错误,以防出现错误。要做到这一点,您需要尝试…捕获,如下所示:

try
{
    Thread.sleep(500);
}
catch(InterruptedException e)
{
    System.out.println("Error!");
}

问题是什么?第一个还是第二个?当代码在编译过程中出错时,为什么希望代码运行?我没有说我希望它运行。我说当我试着运行它时,我遇到了一个错误,我还问了错误是什么。就是这样。但是,编译错误是什么?你有没有可能知道编译错误的原因?顺便说一句,谢谢。编译错误是由运行一个未成功编译的程序引起的。好吧,我想是括号引起的,我修复了它,再次感谢。好的,我知道了,是括号。。。失败
try
{
    Thread.sleep(500);
}
catch(InterruptedException e)
{
    System.out.println("Error!");
}