Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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 类中的方法无法应用于给定类型-使用操作侦听器_Java_Swing_Actionlistener - Fatal编程技术网

Java 类中的方法无法应用于给定类型-使用操作侦听器

Java 类中的方法无法应用于给定类型-使用操作侦听器,java,swing,actionlistener,Java,Swing,Actionlistener,我有一个使用ActionEvent的方法,例如: public void actionPerformed(ActionEvent event) { String command = event.getActionCommand(); if (command.equals("Clear Fields")) { clearFields(); } else if (command.equals("Add Mobile")) { addGa

我有一个使用
ActionEvent
的方法,例如:

public void actionPerformed(ActionEvent event)
{
    String command = event.getActionCommand();
    if (command.equals("Clear Fields")) {
        clearFields();
    }
    else if (command.equals("Add Mobile")) {
        addGadget();
    }
    else if (command.equals("Add MP3")) {
        addGadget();
    }   
}
以及我希望执行的方法,例如:

public void addGadget(Gadget theGadget)
{
    gadgets.add(theGadget);
} 
错误出现在
addGadget()的
actionPerformed
方法中。这与参数有关吗?我已经尝试将参数添加到我希望执行的方法中,但仍然会出现错误


如果命令等于
“Add Mobile”
,我想执行
addGadget
方法。但我正在克服错误。这是为什么?

您试图调用该方法,但没有提供所需的Gadget参数


因此,您要么必须以某种方式提供一个参数,要么必须更改要调用的方法的签名

方法
public void addGadget(Gadget theGadget)
需要类型为
Gadget
的参数。但是在监听器中,您没有提供一个:
addGadget()
如果我添加了
addGadget(Gadget)
我仍然会出错,但这次是因为没有分配Gadget-这是我之前犯的错误吗?您需要一个
Gadget
对象的实际实例,您必须将其传递给此方法。根据您创建小工具的方式,它应该如下所示:
Gadget Gadget=new Gadget();addGadget(gadget)@August如果你想调用addGadget方法,你必须将你想添加的Gadget传递给它。你应该了解自己在哪里以及如何创建这个小工具。我真的不明白你的问题是什么。如果您已经创建了游荡对象,那么传递它有什么问题?它实际上只是将变量名写入括号中。