0
在REST API上調用方法會產生一個javafx.concurrent.Worker
對象。Worker完成後處理
final Worker<ObservableList<ProductBrand>> retrieve = listDataProvider.retrieve();
我想在Worker
完成其工作後發生一些操作。我怎樣才能做到這一點?
在REST API上調用方法會產生一個javafx.concurrent.Worker
對象。Worker完成後處理
final Worker<ObservableList<ProductBrand>> retrieve = listDataProvider.retrieve();
我想在Worker
完成其工作後發生一些操作。我怎樣才能做到這一點?
註冊與Worker
的state
屬性監聽器,並處理狀態轉換:
retrieve.stateProperty().addListener((obs, oldState, newState) -> {
if (newState == Worker.State.SUCCEEDED) {
ObservableList<ProductBrand> result = retrieve.getValue();
// etc...
} else if (newState == Worker.State.FAILED) {
Throwable exception = retrieve.getException();
/// etc...
}
// handle other states (READY, SCHEDULED, RUNNING, CANCELLED) if needed
});
注意這個回調將在FX應用程序線程來執行,這樣你就可以安全地修改的元素的狀態這裏的場景圖。
它的工作原理。謝謝。 – 2014-10-06 16:39:43