private void generateReport() { progressBar.progressProperty().unbind(); progressBar.progressProperty().bind(reportGeneratorTask.progressProperty()); new Thread(reportGeneratorTask).start(); reportGeneratorTask.addEventHandler( WorkerStateEvent.WORKER_STATE_SUCCEEDED, new EventHandler<WorkerStateEvent>() { @Override public void handle(WorkerStateEvent t) { setCenter(reportGeneratorTask.getValue()); } }); }