Java AWT- Probleme beim zeichnen

Prinzipiell ist ein Timer die beste Lösung für deinen Fall.
Allerdings sollte er auf keinen Fall in der paint()-Methode erzeugt werden, sonst würde bei jedem Aufruf dieser Methode ein neuer Timer erzeugt, der widerum den Aufruf von paint() anstößt, und so weiter (das gibt eine Endlosschleife und wahrscheinlich bald unschönes Verhalten wie Überlastung deines PCs und StackOverflowError oder OutOfMemoryException).

Korrekt wäre:
der Timer wird in deinem Konstructor erzeugt und gestartet, Timeout ca. 50-100 ms.
Dein Timer sollte folgendes tun:
• Die neuen Werte von Variablen berechnen
• repaint() aufrufen (ggf. nur wenn isVisible() zutrifft)

Die Methode paint() ist für das Zeichnen zuständig. nicht nur das Zeichnen am Anfang (wenn die graphischen Komponenten erzeugt werden), sondern zu jeder beliebigen Zeit.
 
Zurück