在java中从main中调用其他方法,错误:找不到符号
我有以下代码: 但在第56行,我尝试调用keyPressed方法,但当我尝试调用该方法时,我收到以下错误:在java中从main中调用其他方法,错误:找不到符号,java,Java,我有以下代码: 但在第56行,我尝试调用keyPressed方法,但当我尝试调用该方法时,我收到以下错误: error: cannot find symbol 这是java编译器的一个相当普遍的错误,所以我不确定如何解决它 仅供参考:我是Java初学者 如果我删除了“new”,我也会出现此错误。我是否需要导入某些内容 move.java:56: error: method keyPressed in class GraphicsProgram cannot be applie d to gi
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
您正在执行
newkeypressed()代码>。拿出new
,唯一合法遵循new
的就是构造函数
为了使方块随着按键的反应而移动,您需要更改一些内容。首先,您的程序当前没有实现KeyListener
接口。要实现此类,代码如下所示:
class GraphicsProgram extends Canvas implements KeyListener {
其次,由于您的类现在正在实现一个接口,您将需要重写它的所有抽象方法。即使只使用按键
,也需要重写方法按键释放
和按键类型
,以便程序编译。既然你没有使用它们,你可以把它们留空。最后,您必须将图形窗口本身设置为动作侦听器。这可以使用addActionListener
方法来完成,如下所示:
GP.addActionLisener( GP );
谢谢,但我得到了这个:move.java:56:error:在类GraphicsProgram中按下的方法键不能应用于给定的类型;按键()必需:找到KeyEvent:无参数原因:实际参数列表和正式参数列表长度不同1error@Red_Hat是的,您没有为keyPressed传递任何参数,它需要一个参数。你为什么要呼叫按键
?通常情况下,当用户按键时,JRE会自动调用它,并将按键事件作为参数传入。因此,我尝试调用keyPressed,但仍然不起作用。。我不想成为一个痛苦的人,但如果你能告诉我我要去哪里,那将是非常有用的:P@Red_Hat我复制并粘贴了你的程序,做了必要的修改,让正方形在画布上移动。检查我的新编辑。谢谢你的回复。尽管我试着做了你描述的事情,并提出了这个:,但它仍然无法编译。再次抱歉打扰你,我对java非常陌生,对于C++或C++的人来说,概念是很混乱的。