簡単な解決策は、サービスのWorker.State
に耳を傾けることができます
firstService.stateProperty().isEqualTo(State.SUCCEEDED)
.and(secondService.stateProperty().isEqualTo(State.SUCCEEDED))
.addListener((ov, b, b1) -> {
if(b1){
// udpateUI
}
});
のJava 8がオプションである場合、あなたはそのCompletableFuture
を見て持つことができ、使用例
CompletableFuture<Void> future1 = CompletableFuture.runAsync(() -> service1);
CompletableFuture<Void> future2 = CompletableFuture.runAsync(() -> service2);
CompletableFuture<Void> finished = CompletableFuture.allOf(future1, future2);
finished.thenRun(() -> {
Platform.runLater(() -> {
// updateUI
});
});
出典
2016-05-12 04:18:54
jns