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传递给它。你应该了解自己在哪里以及如何创建这个小工具。我真的不明白你的问题是什么。如果您已经创建了游荡对象,那么传递它有什么问题?它实际上只是将变量名写入括号中。