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
}
}