Что-ж, поскольку специалисты молчат, попробую предложить:
// Хотите новый поток - пожалуйста, но я бы рекомендовал что-нибудь типа:
// public static ExecutorService ThreadPool = Executors.newFixedThreadPool(8)
new Thread() {
@Override
public void run() {
Exception exception = null;
try {
// затратные по времени выполнения операции (такие как запрос к серверу http или БД)...
} catch(Exception ex) {
exception = ex;
}
Exception finalException = exception;
Platform.runLater(new Runnable() {
@Override
public void run() {
if (finalException != null) {
// Handle exception in UI thread
} else {
// Handle result in UI thread
}
}
});
}
}.start();
Disclaimer: JavaFX в глаза не видел.