0

我四处寻找这个并没有得到明确的答案。我写了一个游戏,它需要暂停,直到用户点击他们决定的按钮,然后继续执行。有没有标准的方法来做到这一点?

我见过类似的问题涉及使用“wait()”和“notify()”,但我不确定是否需要添加更多线程,尤其是因为我没有执行复杂或耗时的代码。

我应该澄清它是棋盘游戏的计算机版本,所以只不过是一个带有一些组件的框架。这是我正在尝试做的一些事情,谢谢大家:

public class TreasureHunterFrame extends javax.swing.JFrame
{

    public TreasureHunterFrame()
    {
        initComponents();

        startNewGame();
    }

    private void startNewGame()
    {
        ...
        // User asked to click button while this method is running
        synchronized (this) // wait until Stay of Leave button is clicked
    {
        try 
        {
            while (!userHasMadeDecision)
        this.wait();
        }
        catch (InterruptedException ie)
        {
        }
        }
        ....

    }

    private void userStayButtonActionPerformed(java.awt.event.ActionEvent evt)
    {                                
        userHasMadeDecision = true;
        userLeaving = false;
        synchronized (this)
        {
        notifyAll();
        }
    }          

    public static void main(String args[])
    {

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TreasureHunterFrame().setVisible(true);
            }
        });
    }
}
4

0 回答 0