Vorlesung Informatik 1 - Teil A: Java Kurs

1.15 Timer für Animationen

Objekte vom Typ  javax.swing.Timer sind Zeitschaltuhren, die in einem bestimmten Intervall ActionEvent Ereignisse auslösen.
(Achtung: genau javax.swing.Timer verwenden es gibt noch andere Timer Klassen)

Die Anwendung ist einfach:

class Beispiel implements ActionListener{
      Timer tick = new Timer(1000, this);

erzeugt einen Timer, der alle 1000 Millisekunden feuert und die Methode actionPerformed seine(r) Action-Listener ruft.


Beispiel:

public class TimerBeispiel extends StandardAnwendung implements ActionListener {
public static void main(String[] args) {
      starteAnwendung();
        }

private int xPos=40;

public TimerBeispiel() {
super("Timer Beispiel", 400,300);
this.setBackground(Color.BLACK);
Timer tick = new Timer(1000, this);
tick.start();
}

@Override
public void zeichne(Graphics2D g) {
g.setColor(Color.GREEN);
g.fillOval(xPos, 50, 40, 40);
}
@Override
public void actionPerformed(ActionEvent arg0) {
xPos = (xPos+50) % 100;
this.repaint();   // fordert den Window-Manager auf, das Panel neu zu zeichnen
}
}


Weiterführende Links

Kapitel zu javax.swing.Timer in Java ist auch eine Insel

Lehrvideo  (YouTube)