JavaFX SwingWorker-Äquivalent?
Gibt es ein JavaFX-Äquivalent zur Java SwingWorker-Klasse?
Ich kenne JavaFXAufgab aber damit kannst du nur String-Nachrichten oder einen Fortschritt veröffentlichen. Ich möchte nur eine Methode im GUI-Thread aufrufen, wie ich es mit dem SwingWorker getan hätte (durch Veröffentlichen von Nachrichten eines beliebigen Typs).
Hier ist ein Beispiel für das, was ich meine:
class PrimeNumbersTask extends
SwingWorker<List<Integer>, Integer> {
PrimeNumbersTask(JTextArea textArea, int numbersToFind) {
//initialize
}
@Override
public List<Integer> doInBackground() {
while (! enough && ! isCancelled()) {
number = nextPrimeNumber();
publish(number);
setProgress(100 * numbers.size() / numbersToFind);
}
}
return numbers;
}
@Override
protected void process(List<Integer> chunks) {
for (int number : chunks) {
textArea.append(number + "\n"); // HERE: execute in GUI thread
}
}
}
Lösun
ielen Dank für Ihre Antworten. Die Lösung, nach der ich gesucht habe, ist die Verwendung von Platform.runLater (Runnable guiUpdater).