¿Equivalente de JavaFX SwingWorker?
¿Hay un JavaFX equivalente a la clase Java SwingWorker?
Soy consciente de JavaFXTarea pero con eso solo puedes publicar mensajes de cadena o un progreso. Solo quiero llamar a un método en el hilo de la GUI como lo hubiera hecho con SwingWorker (publicando mensajes de tipo arbitrario).
Heres es un ejemplo de lo que quiero decir:
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
}
}
}
Solución
Muchas gracias por sus respuestas. La solución que estaba buscando es usarPlatform.runLater (Runnable guiUpdater).