cmq ho fatto qualche prova:
codice:
private void updateBooks() {
try {
BackgroundTask bt = new BackgroundTask();
Task<Void> task = new Task<Void>() {
@Override
public Void call() throws InterruptedException {
try {
jsb.launchService("all_books");
jsb.launchService("all_authors");
jsb.launchService("all_editors");
jsb.launchService("graph_authors");
jsb.launchService("graph_editors");
jsb.download(UrlAndPath.JSON_LIBRI);
jsb.download(UrlAndPath.JSON_AUTORI);
jsb.download(UrlAndPath.JSON_EDITORI);
//setTable();
} catch (IOException e) {
GenericDialog.showDialog(e.getMessage(), Alert.AlertType.ERROR);
}
return null;
}
};
bt.execTask(task);
} catch (InterruptedException e) {
}
}
funziona tutto tranne la riga commentata, che si occupa di fare il refresh della TableView.
se non commentata ottengo questo errore:
codice:
Exception in thread "Thread-4" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4