Wenn Sie etwas mit JavaFX verarbeiten, zeigen Sie das geladene Bild und an Dies ist ein Beispielprogramm, das ein weiteres Bild anzeigt, das das Verarbeitungsergebnis zeigt, wenn die Verarbeitung abgeschlossen ist.
↑ ist ein Beispiel, bei dem die Verarbeitung durch Drücken der Taste gestartet wird, die Verarbeitung nach 3 Sekunden abgeschlossen ist und das Verarbeitungsergebnis erfolgreich ist.
Ich habe irgendwo auf ein Programm verwiesen, aber ich habe es geschrieben, weil ich es vergessen habe und es lange gedauert hat, es vorher zu finden.
Ich habe den gesamten Code auf [GitHub] gestellt (https://github.com/s1r-J/LoadingImage).
Wenn Sie die Taste drücken, wird zuerst das Ladebild (das sich drehende Bild) angezeigt.
SampleController.java
// set loading image
this.image.setImage(new Image(getClass().getResourceAsStream("/images/loader.gif")));
Beginnen wir danach mit der Verarbeitung (diesmal 3 Sekunden warten).
SampleController.java
Thread t = new Thread(() -> {
try {
// wait 3 seconds
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
...
Schreiben Sie außerdem die Verarbeitung nach Abschluss der Verarbeitung (Anzeige des blauen Kreisbilds mit dem Ergebnis).
SampleController.java
...
Platform.runLater(() -> {
// after finishing some processes
// set result image
this.image.setImage(new Image(getClass().getResourceAsStream("/images/maru.png ")));
});
});
Da Threads verwendet werden, können je nach Verarbeitung Ausnahmen auftreten Bitte ergreifen Sie geeignete Maßnahmen.
Recommended Posts