因此,我有一个JOptionPane,当不满足特定条件时会出现,并且由于某种原因,当我按“ Ok”时,它会再次出现,但是随后在第二个对话框中按“ Ok”时,它就会消失。
以下是创建对话框的方法:
public boolean checkBet()
{
if(currentPlayer.getBet() <= 0)
{
JOptionPane.showMessageDialog(null, "You must place a bet before you can roll your dice!.",
"Bet Required!",
JOptionPane.ERROR_MESSAGE);
return false;
}
else
return true;
}
这就是上面的方法被调用的地方:
@Override
public void actionPerformed(ActionEvent e) {
checkBet();
if(checkBet())
{
setRollingPlayer(currentPlayer);
new Thread() {
@Override
public void run() {
gameEngine.rollPlayer(rollingPlayer, 500, 2000, 500);
}
}.start();
}
}
最佳答案
您在checkBet
方法中两次调用actionPerformed
@Override
public void actionPerformed(ActionEvent e) {
checkBet(); // Here
if(checkBet()) // And here
{