Equivalente a JavaFX SwingWorker?
Existe um JavaFX equivalente à classe Java SwingWorker?
Estou ciente do JavaFXTarefa mas com isso você pode publicar apenas mensagens String ou um progresso. Eu só quero chamar um método no thread da GUI, como faria com o SwingWorker (publicando mensagens de um tipo arbitrário).
Heres é um exemplo do que quero dizer:
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
}
}
}
Solução
Muito obrigado por suas respostas. A solução que eu estava procurando é usarPlatform.runLater (guiUpdater executável).