Q:

Замедление секундомера

Я новичок в JAVA.  Просмотрев несколько примеров - написал подобие секундомера используя Timer.  После выполнения программы, 500 минут секундомера пролетают за 2 - 3 секунды.  Видимо где-то что-то напутал с синтаксисом.  Буду признателен за помощь.  Также приму любые предложения по оптимизации данного кода. 
import java.util. Timer;
import java.util. TimerTask;

public class ut extends TimerTask {
Timer timer;
    public void run(){
        int seconds = 0, minutes = 0;
        while (true) {
        seconds++;
        if (minutes ! = 0)
          System.out.print(minutes + ":");
          System.out.println(seconds);
        if (seconds == 59) {
          seconds = -1;
          minutes++;
        }
        if (minutes == 500){
            timer.cancel();
        }
      }
  }

    public static void main(String[] args) {
      new Timer().schedule(new ut(), 10);
    } 
}

Читал также, что можно как то реализовать данную задачу через swing.  Если кто нибудь знает как это реализовать и будет ли это проще чем данный пример, буду благодарен за помощь. 

A:

import javax.swing. Timer;
...
// Будет вызываться каждую секунду
timer = new Timer(1000, new ActionListener(
    public void actionPerformed(ActionEvent ev) {
        System.out.println("WOW!"); 
    }
));
timer.start();

Источник.