Ereignisprogrammierung, Leerlaufereignis

leisure

Mitglied
In einer im schulischen Bereich gern eingesetzten Entwicklungsumgebung (Stifte&Mäuse) gibt es ein sogenanntes Leerlaufereignis bzw. eine Methode bearbeiteLeerlauf(), die immer dann aufgerufen wird, wenn keines der anderen Ereignisse (Button-, Maus- oder Tastaturereignisse) eintritt. Auf die Art und Weise vermeidet man die Benutzung von Schleifen, die ja sonst verhindern, dass ich während der Schleife überhaupt ein anderes Ereignis auslösen kann.

Wie kann ich im "normalen" Java ein Leerlaufereignis bzw. die Methode bearbeiteLeerlauf() implementieren?
 
S

SlaterB

Gast
wenn ich das richtig verstehe muss es ja doch irgendwo eine Art Schleife geben, die 30x pro Sekunde irgendwas aufruft,
entweder was für Button, sonst was anderes,

dieses Konzept an sich gibt es nicht unbedingt, müsstest du selber implementieren, dann kannst du es machen wie du willst,
genauso eine Methode bearbeiteLeerlauf() definieren oder anders benannt oder einfach nur ein switch/ else-Fall

@ bERt0r
wie soll ein allgemeines Tutorial zu dieser Frage helfen, die dann nicht mal mehr direkt etwas mit SuM zu tun hat,
geht ja um 'normales Java'..
 

Volvagia

Top Contributor
Wenn ich es richtig verstanden habe:

In der Standart-Api gibt es einen Hintergrundthread, den sogenannten Event Dispatcher. Diesen können von überall her Events gepostet werden, die dieser im Hintergrund abarbeitet. Auch Standartlistener werden im EDT gepostet. Wenn der EDT eine Schleife in einen Listener abarbeitet, warten natürlich alle anderen Events darauf, dass der EDT sie abhohlt. Für diesen Zweck gibt es Threads. Der Dispatcher startet nur einen Thread, bzw. sagt einen bereits laufenden was zu tun ist. Dieser wiederrum arbeitet die Aufgabe ab, und postet das Ergebnis, sofern es auf der GUI stattfinden soll wiederrum im EDT. (SwingWorker ist dabei nützlich). Während dessen kann der EDT weitere Events abarbeiten.
 

Oben