我有这个代码: 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
答案 0 :(得分:1)
你在做new keyPressed();
。取出new
,唯一合法关注new
的是构造函数。
为了使方形移动以响应按键,有一些事情你需要改变。首先,您的程序当前没有实现KeyListener
接口。要实现此类,代码如下:
class GraphicsProgram extends Canvas implements KeyListener {
其次,由于您的类现在正在实现接口,因此您需要覆盖其抽象方法的所有。即使您只使用keyPressed
,您还需要覆盖方法keyReleased
和keyTyped
,以便编译程序。由于您没有使用它们,您可以将它们留空。最后,您必须将图形窗口设置为自身的动作侦听器。这可以使用addActionListener
方法完成:
GP.addActionLisener( GP );