相关疑难解决方法(0)

如何正确等待 ActionListener 执行?

我有一个简单的、大小不一的井字棋应用程序,它在不同的机器上工作方式不同。在我的笔记本电脑上,它像我想要的那样工作,而在我的台式机上,它卡在ButtonListener实现ActionListener. 我很确定这是因为我使用while循环等待执行操作的方式。这是有问题的代码片段。

public void playOneTurn(int player) {
    waiting = true;
    while (waiting) {
        // Do nothing, touchEvent will change waiting.
    }
}
Run Code Online (Sandbox Code Playgroud)

我的意思是让这个方法简单地等待一个有效的点被选择并waitingButtonListener

    class ButtonListener implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("TOUCHEVENT");

        for (i = 0; i < size; i++)
            for (j = 0; j < size; j++)
                if (e.getSource() == cells[i][j]) {
                    if (model[i][j] == 'e') {
                        cells[i][j].setText("");
                        currentSpot[0] = i;
                        currentSpot[1] = j;
                        if (count …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading awt actionlistener

1
推荐指数
1
解决办法
3678
查看次数

标签 统计

actionlistener ×1

awt ×1

java ×1

multithreading ×1

swing ×1