i schrieben eine kleine Anwendung, die unter anderem einen REST-Aufruf an einen JIRA-REST-API macht Probleme laden. Ich habe einen Fortschrittsbalken, der den Fortschritt des Downloads anzeigt. Allerdings muss ich eigentlich zwei REST-Anrufe machen. Der erste muss beendet sein, bevor der zweite beginnt. Dazwischen muss ich die Benutzeroberfläche aktualisieren.Java (FX) UI-Update und (Hintergrund) Download-Aufgabe
Nachfolgend finden Sie einige Beispiel-Code:
// 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
Wie kann ich sicherstellen, dass alle Funktionen oben in genau dieser Reihenfolge gezeigt ausgeführt wird?
Danke für jede Hilfe!
Wie heißen die zwei Methoden, um die Aufgaben zu beginnen? Warum kannst du sie nicht zu einer einzigen "Aufgabe" kombinieren? – fabian
Dank fand ein nun eine Lösung mit nur einer Aufgabe! –