我目前正在使用Swing在Java中创建游戏。我有一个按钮,一旦它做了一件事,我希望它的行动改变。我已经尝试过if语句,if-else语句,while循环和其他各种各样的东西,我无法让它工作。有谁知道怎么做这样的事情?
答案 0 :(得分:4)
创建类级别属性:
boolean buttonHasFiredOnce = false;
在动作执行方法中,输入如下代码:
if (!buttonHasFiredOnce) {
doFirstMethod();
buttonHasFiredOnce = true;
} else {
doSecondMethod();
}
答案 1 :(得分: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
}
});