如何停止计时器

16 浏览
0 Comments

如何停止计时器

我正在使用Netbeans 8.0,在我的GUI中停止我创建的定时器方面遇到了困难。以下是我的代码。

public class Task1 implements Runnable{
    public void run()
    {
        long start = System.currentTimeMillis();
        while (!Thread.interrupted())
        {
            long time = System.currentTimeMillis() - start;
            final long seconds = time / 1000;
            final long min = seconds / 60;
            final long remainingSec = seconds % 60;
            final long hr = min / 60;
            SwingUtilities.invokeLater(new Runnable() {
                 public void run()
                 {
                       jLabel3.setText("已经过的时间: " + hr + ":" + min + ":" + remainingSec);
                 }
            });
           try { Thread.sleep(100); } catch(Exception e) {  }
        }
    }
}
Thread t1 = new Thread(new Task1());
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    t1.start();
    }                                        
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    t1.interrupt(); // 这个无法停止我的定时器。
    } 

我创建了两个按钮,jButton1按钮开始计时器,jButton2按钮停止计时器。请给予建议。

0