2014-01-08 86 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 
    } 
});