在执行任务期间,进度指示器平稳运行,但当任务结束时,进度指示器继续转动。我希望此任务结束时进度指示器停止。这是我的代码
open('Herald500_200{0}.json'.format(i))
并且有我的任务。
for year in range(2005, 2016): # note the 2016 here - the upper bound is non-inclusive
df = pandas.DataFrame([json.loads(l) for l in open('Herald500_%d.json' % year)])
答案 0 :(得分:1)
您无法从后台线程更改UI,因此行
progressInd.progressProperty().unbind();
progressInd.setProgress(task.getProgress());
nextButton.setDisable(false);
不应该在call()
方法中执行。
相反,你应该做
nextButton.setDisable(true);
task = createWorker();
progressInd.progressProperty().bind(task.progressProperty());
task.setOnSucceeded(e -> {
progressInd.progressProperty().unbind();
progressInd.setProgress(1); // mark as complete...
nextButton.setDisable(false);
});
// always good practice to (at a minimum) log exceptions if they occur:
task.setOnFailed(e -> task.getException().printStackTrace());
th = new Thread(task);
th.start();