Я написал небольшое приложение, которое, среди прочего, делает вызов REST API JIRA REST, связанный с загрузкой. У меня есть индикатор выполнения, показывающий ход загрузки. Однако на самом деле мне нужно сделать два вызова REST. Первый должен быть закончен до начала второго. Между ними мне нужно обновить интерфейс.Задача загрузки Java (FX) UI и фоновой загрузки
Ниже несколько примеров коды:
// Loads the dialog from the fxml file and shows it
@FXML
public void showProgressDialog() {
mainApp.showDownloadProgressDialog();
}
// Retrieves some meta information
public void firstDownload() {
Task<Void> task = new Task<Void>() {
@Override
public Void call() {
// do something
}
};
new Thread(task).start();
}
// Do some UI update
// Retrieves the actual issues
public void secondDownload() {
Task<Void> task = new Task<Void>() {
@Override
public Void call() {
for (int i = 0; i < limit; i++) {
// so something
updateProgress((double) i/(double) limit, max);
}
}
};
new Thread(task).start();
}
// Do some UI update
Как я могу гарантировать, что все функции, показанные выше, выполняются именно в таком порядке?
Спасибо за помощь!
Как эти 2 методы, начинающиеся задачи под названием? Почему вы не можете объединить их с одной «Задачей»? – fabian
Спасибо, теперь найдено решение только с одной задачей! –