Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中从main中调用其他方法,错误:找不到符号_Java - Fatal编程技术网

在java中从main中调用其他方法,错误:找不到符号

在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

我有以下代码:

但在第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

您正在执行
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++的人来说,概念是很混乱的。