也许有人会知道如何解决这个问题因为我不知道。我试图运行我的类什么扩展任务,第一次当我尝试运行它正常运行(我正在使用它为progressBar)。当我的任务完成第一个操作时,我正在尝试下一个调用但它不起作用,只有进度条显示初始化信息。非常感谢/ bw。
这是代码:
声明:
public class QueryCreator extends Service<Void>{
...
//constructor
....
@Override
protected Task<Void> createTask() {
return new Task<Void>(){
@Override
protected Void call() throws Exception {
updateMessage("Init");
// count is ;d count of queries
for(int i = 0 ; i < count ; i++){
String queryString = "";
....
// creating string for query
....
FileSaver.getInstance().writeLine(queryString); // instance of file where i put created queries
updateProgress(i+1,count);
int procent = ((i+1)*100)/count;
updateMessage("Done: " + procent + "" + "/100");
}
FileSaver.getInstance().closeFile();
updateMessage("File created");
return null
}
};
}
}
用法:
....
Service<Void> QueryWorker = new QueryFileCreator(....);
progressBar.progressProperty().unbind();
progressBar.progressProperty().bind(QueryWorker.progressProperty());
QueryWorker.messageProperty().addListener((obs, oldVal , newVal)- {
procentLabel.setText(newVal);
});
FileSaver.getInstance().createFilePath( .....// filechooser // ) ; // creating file path via filechooser
QueryWorker.start();
....