我需要用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);
}
}
然后什么也没有发生。椭圆会创建并绘制一次,但不会移动。