Ich wollte eine Animation programmieren und bleibe jetzt bei einem Punkt hängen.
Ich erbe von JPanel und will darin die Animation abspielen lassen. Dazu muss im zehntel-Sekundentakt die Funktion paintComponent() aufgerufen werden. So habe ich Runnable implementiert und so die run-Funktion gestaltet:
Doch wenn ich auf den Button, der diese Funktion auslöst, klicke, bleibt dieser gedrückt und nach 10 Sekunden sehe ich das letzte Bild der Animation. Was da passiert, ist mir klar: Er rechnet es nicht nebenbei und zeigt es dann an, sondern er will erst alles durchrechnen und mir dann das fertige Ergbnis liefern. Doch gerda um das zu verhindern habe ich es ja mit Runnable gemacht!
Könnt ihr mir weiterhelfen?
Ich erbe von JPanel und will darin die Animation abspielen lassen. Dazu muss im zehntel-Sekundentakt die Funktion paintComponent() aufgerufen werden. So habe ich Runnable implementiert und so die run-Funktion gestaltet:
Code:
public void run() {
while (t < 10) {
t += 0.1;
repaint();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
}
Doch wenn ich auf den Button, der diese Funktion auslöst, klicke, bleibt dieser gedrückt und nach 10 Sekunden sehe ich das letzte Bild der Animation. Was da passiert, ist mir klar: Er rechnet es nicht nebenbei und zeigt es dann an, sondern er will erst alles durchrechnen und mir dann das fertige Ergbnis liefern. Doch gerda um das zu verhindern habe ich es ja mit Runnable gemacht!
Könnt ihr mir weiterhelfen?