JOptionPane.showMessageDialog不得不退出两次



所以我有一个 JOptionPane,当某个条件不满足时会出现,并且由于某种原因,当我按"确定"时,它再次出现,但是当在第二个对话框中按"确定"时,它会走路。

以下是进行对话的方法:

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();  
}
}

actionPerformed方法中调用checkBet两次

@Override
public void actionPerformed(ActionEvent e) {
checkBet(); // Here
if(checkBet()) // And here
{

当你在actionPerformed()中调用函数checkBet()时,它已经被提到了两次。函数checkBet()也将在if()内部执行。

删除一次调用,它将执行一次。

最新更新