Animation durch Tastendruck stoppen?

Hallo,

ich übe mich momentan in Java. Demnach bin ich kein Experte.

Ich habe mit Hilfe von BlueJ ein Quadrat „gemalt“, welches die Fläche eines Würfels darstellen soll. Mit Hilfe einer Schleife „projeziere“ ich auf die Fläche die Augen die immer wieder verschwinden, sodass es so aussieht als würde man Würfeln.

Nun zu meiner Frage:
Ist es möglich mit einem Befehl im Quelltext, durch Tastendruck diese Schleife zu starten bzw. beenden um somit den „Vorgang des Würfelns“ willkürlich zu starten bzw. zu stoppen?

Gruß Blizzard

Hallo,

du könntes in deiner Klasse eine boolesche Variable anlegen und mit Hilfe eines KeyListeners (bzw. KeyAdapters) die gewünschte Taste abfragen, um damit die Schleife zu starten und/oder die Variable zu verändern.

Gruß, sagitta1793

Also du meinst, wenn ich jetzt bspw. „S“ drücke, dass dann der Boolean auf true gesetzt wird und somit die Schleife in Gang kommt?

Hallo,

ja, so kannst du das machen.
Ich weiß aber nicht genau, wie dein Programm aufgebaut ist; ob die Schleife in einem Thread ausgeführt wird, …
Musst es dann entsprechend verändern.

Gruß, sagitta1793

Mein Tipp an dich: Beschäftige dich mit Thread-Programmierung. Die Schleife kann so in einem eigenen Thread laufen, den du von aussen z.B. per Tastendruck oder mittels eines Mausklicks startest bzw. stoppst.

http://openbook.galileocomputing.de/javainsel8/javai…

Gruss
McPringle

Hallo,
ich würde Dir und anderen genrell die Verwendung von Threads empfehlen, denn so kannst du sicherstellen, dass das Programm weiterhin reagiert und nicht vor lauter Schleifen für den Benutzer „unansprechbar“ wird. Thread sind nicht sonderlich kompliziert und machen vieles möglich.

Am besten wäre in Deinem Fall also die Kombination von Boolean-Variable und Thread - diesem kannst du dann von außen (Aus dem Haupt-Programm also) den Stop-Befehl geben indem du den Bolean-Wert auf false setzt.

Hoffe ich konnte das nochmal klären!

Viele Grüße,
Florian L