Guten Tag,
ich habe jetzt zum ersten mal den ExekutorService benutzt. Allerdings klappt das nicht so, wie ich es mir vorgestellt hatte.
Was ich möchte: Es soll ein GIF(Image) für 1,5 Sekunden angezeigt werden. Danach, soll es wieder verschwinden. Ich dachte mir, ich löse das über einen Thread. Mein Code sieht Folgendermaßen aus:
Der Hintergrundgedanke war, ein ImageView an meinen gewünschten Koordinaten zu erschaffen und die Animation für 1.5 Sekunden abspielen zu lassen. Dann schließe ich den Thread, zögere aber die Termination hinaus. Anschließend lösche ich das view von der Oberfläche. Allerdings bleibt das View weiterhin auf der GUI und läuft munter weiter. Das iterieren des Parents und löschen dieses Nodes bringt auch nichts.
Kann mir wer einen Tipp geben?
Danke im Voraus
ich habe jetzt zum ersten mal den ExekutorService benutzt. Allerdings klappt das nicht so, wie ich es mir vorgestellt hatte.
Was ich möchte: Es soll ein GIF(Image) für 1,5 Sekunden angezeigt werden. Danach, soll es wieder verschwinden. Ich dachte mir, ich löse das über einen Thread. Mein Code sieht Folgendermaßen aus:
Code:
btn.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
ExecutorService executorService = Executors.newFixedThreadPool(1);
Thread thread = new Thread(() -> {
Platform.runLater(() -> {
playMyAni(btn);
});
});
executorService.submit(thread);
try {
executorService.awaitTermination(1500, TimeUnit.MICROSECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
}
Der Hintergrundgedanke war, ein ImageView an meinen gewünschten Koordinaten zu erschaffen und die Animation für 1.5 Sekunden abspielen zu lassen. Dann schließe ich den Thread, zögere aber die Termination hinaus. Anschließend lösche ich das view von der Oberfläche. Allerdings bleibt das View weiterhin auf der GUI und läuft munter weiter. Das iterieren des Parents und löschen dieses Nodes bringt auch nichts.
Kann mir wer einen Tipp geben?
Danke im Voraus