在java中调用main中的不同方法并且错误:找不到符号

时间:2013-03-17 04:33:49

标签: java

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

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

error: cannot find symbol

这是java编译器的一般错误,所以我不确定如何解决它。

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

如果我删除'new',我是否需要输入内容?

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

1 个答案:

答案 0 :(得分:1)

你在做new keyPressed();。取出new,唯一合法关注new的是构造函数。

为了使方形移动以响应按键,有一些事情你需要改变。首先,您的程序当前没有实现KeyListener接口。要实现此类,代码如下:

class GraphicsProgram extends Canvas implements KeyListener {

其次,由于您的类现在正在实现接口,因此您需要覆盖其抽象方法的所有。即使您只使用keyPressed,您还需要覆盖方法keyReleasedkeyTyped,以便编译程序。由于您没有使用它们,您可以将它们留空。最后,您必须将图形窗口设置为自身的动作侦听器。这可以使用addActionListener方法完成:

GP.addActionLisener( GP );