2017-03-14 83 views
-1

我有一個使用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); 
} 

錯誤發生在actionPerformed方法addGadget();。這是與參數有關嗎?我嘗試添加參數,因爲它們在我希望執行的方法中,但是我仍然遇到錯誤。我想要執行addGadget方法。但我越來越錯誤。爲什麼是這樣?

+2

「public void addGadget(Gadget theGadget)'方法需要'Gadget'類型的參數。但在你的聽衆中,你不提供一個:'addGadget();' – QBrute

+0

如果我做'addGadget(Gadget)'我仍然有錯誤,但這次是因爲Gadget沒有分配 - 這是我犯的一個錯誤以前? –

+0

您需要一個實際**實例**的'Gadget'對象,您必須將其傳遞給此方法。根據你創建小工具的方式,它應該看起來像這樣:'Gadget gadget = new Gadget(); addGadget(gadget);' – QBrute

回答

1

您嘗試在不提供必需的Gadget參數的情況下調用該方法。

因此,您必須以某種方式提供參數,或者您必須更改您打算調用的方法的簽名。

相關問題