Zeigen Sie ein Ladebild in JavaFX an und zeigen Sie dann ein anderes Bild an

Überblick

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.

demo.gif ↑ 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).

Umgebung

Erläuterung

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 ")));
	});
});

Hinweis

Da Threads verwendet werden, können je nach Verarbeitung Ausnahmen auftreten Bitte ergreifen Sie geeignete Maßnahmen.

Recommended Posts

Zeigen Sie ein Ladebild in JavaFX an und zeigen Sie dann ein anderes Bild an
JavaFX8-Bildanzeige
Verwenden Sie Jenkins, um in Docker zu erstellen und dann ein Docker-Image zu erstellen.
[AWS CLI] Wechseln Sie die Rollen, um ein Docker-Image in einem anderen Konto abzurufen
[Java FX] IllegalArgumentException tritt in neuem Image (Pfad) auf
Zeigen Sie Bilder mit AutoLayout-Verhältnis genau mit der Bildladebibliothek Nuke in Swift an
So zeigen Sie eine Webseite in Java an
Memo beim Tappen und Entwickeln mit JavaFX
Führen Sie JUnit und Spock in einem Maven-Projekt aus
Ein einfaches Stein-Papier-Scheren-Spiel mit JavaFX und SceneBuilder
Erdanzeige des äquatorialen Koordinatensystems in JavaFX 3D (1)
[Arbeitsnotiz für persönliche Anwendungen] Anzeigen von Balkendiagrammen und Liniendiagrammen in einem Diagramm
[AWS Lambda] Ändern Sie die Größe des in S3 gespeicherten Bildes und speichern Sie es in einem anderen S3 (mit Ruby).
So implementieren Sie ein kreisförmiges Profilbild mit CarrierWave und R Magick in Rails