2014-01-08 33 views
-1

我目前使用Swing在Java中創建遊戲。我有一個按鈕,一旦它做了一件事,我希望它的行動改變。我曾嘗試過if語句,if-else語句,while循環以及其他各種各樣的事情,但我無法使其工作。任何人都知道如何做這樣的事情?如何更改按鈕的功能?

+1

大家都知道如何做這樣的事情。您需要提供更多的信息(可能是代碼),以便我們可以幫助您... – John3136

+1

根據需要更改'ActionListener' ... – MadProgrammer

回答

4

創建沿線的類級屬性:

boolean buttonHasFiredOnce = false; 

在執行操作方法,把這樣的代碼:

if (!buttonHasFiredOnce) { 
    doFirstMethod(); 
    buttonHasFiredOnce = true; 
} else { 
    doSecondMethod(); 
} 
+0

如果您無法通過該提示獲取它:發佈[SSCCE] (http://sscce.org/)你最好的嘗試。它只需要約20行代碼。 –

0

我會建議更換ActionListener

public static void changeAction(JButton button, ActionListener al) { 
    for (ActionListener listener: button.getActionListeners()) { 
     button.removeActionListener(listener); 
    } 
    button.addActionListener(al); 
} 

然後當你想要改變行動...

changeAction(button, new ActionListener() { 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     //Insert Action Code 
    } 
});