JavaFX - wartet auf den Abschluss der Aufgabe

8

Ich habe eine JavaFX-Anwendung, die mehrere Objekte Aufgabe instanziiert.

Derzeit ruft meine Implementierung (siehe unten) das Verhalten runFactory () auf, das die Berechnung unter einem Task-Objekt durchführt. Parallel dazu wird nextFunction () aufgerufen. Gibt es eine Möglichkeit, nextFunction () warten zu lassen, bis die vorherige Aufgabe abgeschlossen ist?

Ich verstehe, dass thread.join () wartet, bis der laufende Thread abgeschlossen ist, aber bei GUIs gibt es zusätzliche Komplexitätsebenen aufgrund des Ereignisversand-Threads. Das Hinzufügen von thread.join () zum Ende des folgenden Code-Segments beendet nur die Interaktion mit der Benutzeroberfläche.

Wenn es Vorschläge gibt, wie nextFunction gewartet werden kann, bis die vorherige Funktion runFactory abgeschlossen ist, wäre ich sehr dankbar.

Danke,

%Vor%     
mtor.signaling 05.03.2013, 06:44
quelle

1 Antwort

19

Wenn Sie Aufgaben verwenden, müssen Sie setOnSucceeded und möglicherweise setOnFailed verwenden, um einen logischen Fluss in Ihrem Programm zu erstellen. Ich schlage vor, dass Sie runFactory() die Aufgabe zurückgeben, anstatt sie auszuführen:

%Vor%     
Dreen 05.03.2013, 17:29
quelle

Tags und Links