0

我有这个代码: http: //paste.ubuntu.com/5621366/

但是在第 56 行,我试图调用 keyPressed 方法,但是当我尝试它时,我收到了这个错误:

error: cannot find symbol

这是 java 编译器的一个非常普遍的错误,所以我不确定如何解决它。

仅供参考:我是 Java 的初学者。

如果我删除“新”,我也会收到此错误,我需要导入一些东西吗?:

move.java:56: error: method keyPressed in class GraphicsProgram cannot be applie
d to given types;
                keyPressed();
                ^
  required: KeyEvent
  found: no arguments
  reason: actual and formal argument lists differ in length
1 error
4

1 回答 1

1

你在做new keyPressed();。取出new,唯一可以合法遵循new的是构造函数。

为了使方块响应按键而移动,您需要更改一些内容。首先,您的程序当前没有实现该KeyListener接口。要实现这个类,代码如下:

class GraphicsProgram extends Canvas implements KeyListener {

其次,由于你的类现在实现了一个接口,你需要重写它的所有抽象方法。即使您只使用keyPressed,您也需要重写方法keyReleasedkeyTyped让程序编译。由于您不使用它们,因此可以将它们留空。最后,您必须将图形窗口设置为自身的动作侦听器。这可以使用以下addActionListener方法完成:

GP.addActionLisener( GP );
于 2013-03-17T04:38:50.763 回答