Abend,
ich möchte in meinen JavaFX Programm eine Progressbar mittels Tasks füllen, um einen Fortschritt anzuzeigen.
Es sollen im groben drei verschiedene "Operationen" dargestellt werden. Bsp. Einstellungen laden/überprüfen, Daten aus einer Webseite auslesen und als drittes mehrere Ordner analysieren.
Da zu mindestens die letzten zwei Operation unterschiedlich lang dauern können, da ich ja nicht weiß wie viele Daten bzw. Ordner das sin habe ich gedacht packe ich das in separate Tasks und fülle dann die Progressbar. Nur habe ich keine Ahnung wie ich die gleiche Progressbar aus unterschiedlichen Tasks ansprechen soll.
Mit einem ist kein Problem
Das kann ich wie folgt:
Und dann wie folgt starten
So wie gesagt ich habe keine Ahnung wie man nun eine Progressbar mit mehreren Tasks füllen kann
Und wie stelle ich fest was der Endwert, also das Maximum, der Progressbar ist, wenn ich am Anfang gar nicht weiß wie lange das dauert.
Vielleicht kann mir ja wer helfen.
ich möchte in meinen JavaFX Programm eine Progressbar mittels Tasks füllen, um einen Fortschritt anzuzeigen.
Es sollen im groben drei verschiedene "Operationen" dargestellt werden. Bsp. Einstellungen laden/überprüfen, Daten aus einer Webseite auslesen und als drittes mehrere Ordner analysieren.
Da zu mindestens die letzten zwei Operation unterschiedlich lang dauern können, da ich ja nicht weiß wie viele Daten bzw. Ordner das sin habe ich gedacht packe ich das in separate Tasks und fülle dann die Progressbar. Nur habe ich keine Ahnung wie ich die gleiche Progressbar aus unterschiedlichen Tasks ansprechen soll.
Mit einem ist kein Problem
Das kann ich wie folgt:
Java:
public class TestThread2 extends Service {
@Override
protected Task createTask() {
return new Task<Integer>() {
@Override
protected Integer call() throws InterruptedException {
int index;
for (index = 0; index < 500; index++) {
updateProgress(index, 1000);
Thread.sleep(10);
}
return index;
}
};
}
}
Und dann wie folgt starten
Java:
final Service progress1 = new TestThread();
progressState.progressProperty().bind(progress1.progressProperty());
progress1.start();
So wie gesagt ich habe keine Ahnung wie man nun eine Progressbar mit mehreren Tasks füllen kann
Und wie stelle ich fest was der Endwert, also das Maximum, der Progressbar ist, wenn ich am Anfang gar nicht weiß wie lange das dauert.
Vielleicht kann mir ja wer helfen.