第一次啓動一個任務與我的進度條綁定,後者開始並倒帶,然後重新啓動,這次根據我的計數器(如我所料)。儘管如此,這種不需要的效果非常微妙但可見。Pb與JavaFx進度條行爲
這裏是我下面的測試代碼:
private void startButtonEventHandler(ActionEvent event) {
Service<Void> service = new Service<Void>() {
@Override
protected Task<Void> createTask() {
Task<Void> task = new Task<Void>() {
@Override
public Void call() throws Exception {
for (int i = 1; i <= 10; i++) {
// Long running task ...
Thread.sleep(500);
updateProgress(i, 10);
}
return null;
}
};
progressBar.progressProperty().bind(task.progressProperty());
return task;
}
};
service.start();
}
進度條是確定的:
progressBar = new ProgressBar(0.0F);
progressBar.setPrefWidth(200);
更新:我意識到,進度在undeterminate模式在一開始啓動,然後在第一次調用後到updateProgress()方法它切換到確定模式。這是一個錯誤還是一個功能?
你嘗試啓動該服務,而不是'進度之前,進度條的進度屬性服務的進度屬性綁定。 。progressProperty()結合(task.progressProperty());'? – Calculator
是的,我做到了,但並沒有解決這個奇怪的行爲。 – Carthusianorum