1

我正在尝试在 Java 小程序中制作秒表。问题是..我有一个文本字段说“数字”。我接受输入,然后当我按下开始按钮时……流程转到下面提到的循环……//我使用 NETBEANS!我需要每 1 秒后数字字段中的文本必须减一。但这没有发生。代码工作正常..但时间完成后显示“0”..而不是在循环运行时显示。

private void startActionPerformed(java.awt.event.ActionEvent evt) 
{                                      
    int i = Integer.parseInt(number.getText());
    number.setText(Integer.toString(i));

    while(i!=0)
    {
        System.out.print(i);
        //number.setText(Integer.toString(i));
        number.setText("");
        try{Thread.sleep(900);}catch(Exception e){e.getMessage();System.out.println(e);}
        i--;
    }
}  
4

1 回答 1

5

您的 while 循环工作正常,但您的 Thread.sleep 使 Swing 事件线程进入睡眠状态,并与它一起进入整个 GUI。请改用摇摆计时器

于 2013-10-12T19:51:26.960 回答