簡體   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