繁体   English   中英

Swing计时器不起作用(Java)

[英]Swing Timer Not Working (Java)

由于某种原因,即使我使用oracle网站上的确切代码示例作为Swing Timer,它也没有等待1秒。 它只是跳到JOptionPane,上面写着“您的分数等”。

这是我的学校项目的源代码。 为什么这不起作用,并且在运行其余代码之前没有等待1秒钟?

//Check to see if user has enetered anything
if(!answered)
{
    int delay = 1000; //milliseconds
    ActionListener taskPerformer = new ActionListener() {
        public void actionPerformed(ActionEvent evt) {
            //...Perform a task...
        }
    };
    new Timer(delay, taskPerformer).start();
    afk = true;
    incorrect += 1;
    answered = true; //This breakes it out of the loop
}

计时器用于在特定时间后运行回调。 如果你只是想拖延,你可以移动的代码延迟后运行taskPerformer动作侦听器。

Thread.sleep(1000)在这里不是理想的,因为它会使UI完全冻结,因为您将使UI线程进入睡眠状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM