Почему таймер не действует? - PullRequest
0 голосов
/ 05 мая 2019

Мне нужно сделать простую анимацию в Java, но есть кое-что, чего я не понимаю в таймерах.

public class Gra extends JPanel{

Oval oval1;
Timer timer;

Gra(){
    this.setBackground(Color.black);

    oval1 = new Oval();
    timer = new Timer(true);
    timer.schedule(new TimerTask() {
        public void run() {
            oval1.movement();
            SwingUtilities.invokeLater(() -> repaint());
        }
    }, 1);
}
    @Override
    public void paintComponent(Graphics g) {
           super.paintComponent(g);
           g.setColor(oval.kolor);
                g.fillOval(oval.x, oval.y, 2*oval.r1, 2*oval.r2);
    }
}

И тогда ничего не происходит. Овал создается и рисуется один раз, но он не двигается.

...