Hallo,
ich versuche eine Animation auf meinem Panel zu erreichen. Mal kurz zum Aufbau meines Programms. Meine Hauptklasse erzeugt einen Frame mit zwei Panels drin. Diese beiden Panels (Unterklasse von JPanel) sind nach dem Observer Entwurfsmuster Beobachter. Dargestellt werden Kreise, die ich in Bewegung setzen möchte. Dazu ändere ich nach dem Mausklick die Position des Kreises schrittweise in einer Schleife und schicke bei jedem Schleifendurchlauf ein Event ab. Das landet dann in meinem DrawPanel:
Das Errorhandling wird natürlich ncoh verbessert . Auf jeden Fall ruft er im Abstand von 500ms die update Funktion auf, doch repaint erst nach dem Ablauf der Schleife (das heißt, wenn die Animation beendet is). Wo liegt der Fehler?
ich versuche eine Animation auf meinem Panel zu erreichen. Mal kurz zum Aufbau meines Programms. Meine Hauptklasse erzeugt einen Frame mit zwei Panels drin. Diese beiden Panels (Unterklasse von JPanel) sind nach dem Observer Entwurfsmuster Beobachter. Dargestellt werden Kreise, die ich in Bewegung setzen möchte. Dazu ändere ich nach dem Mausklick die Position des Kreises schrittweise in einer Schleife und schicke bei jedem Schleifendurchlauf ein Event ab. Das landet dann in meinem DrawPanel:
public void update(BubbleSortEvent e) {
System.err.println("BubbleEvent");
repaint(leftCornerX, leftCornerY, width, height);
try {
Thread.sleep(500);
} catch(Exception e2) {}
}
Das Errorhandling wird natürlich ncoh verbessert . Auf jeden Fall ruft er im Abstand von 500ms die update Funktion auf, doch repaint erst nach dem Ablauf der Schleife (das heißt, wenn die Animation beendet is). Wo liegt der Fehler?