JavaFX Wait/Sleep/postedDelay - Einfach nur warten

lolslax

Mitglied
Hallo zusammen,

ich habe hier ein sehr seltsamen Problem obwohl ich es in der Theorie noch nachvollziehen könnte in Sachen Threads.

Mein einfaches Problem was ich lösen möchte ist folgendes:

Das ImageView bekommt ein Bild zugewiesen und das Bild wird angezeigt.

Folgender Ablauf:

Bild 1 wird angezeigt

Warte 5 sekunden (in dieser Zeit soll das Bild 1 noch immer angezeigt werden!)

Bild 2 wird angezeigt

Warte 5 sekunden (in dieser Zeit soll das Bild 2 noch immer angezeigt werden!)

Bild 3 wird angezeigt

.
.
.

usw.

Mein Problem ist:

Wenn ich ein wait oder sleep einbaue, dann zeigt er mir kein Bild an sonder "hängt sich auf"
welches sicherlich mit dem Thread zu tun hat, da dieser angehalten wird.

Aber wie komme ich zur Lösung des oben genannten Ablaufes?

In VB.Net und anderen Sprachen hatte ich nie ein Problem mit Threads bzw. Threadübergreifende Geschichten.


Über Hilfe würde ich mich sehr freuen.

Nette Grüße
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Mit sleep und wait hängst du den aufrufenden Thread für die angegebene Zeit auf. Lager das Ganze in einen weiteren Thread aus und lass diesen mit sleep warten.
 

lolslax

Mitglied
Vielen Dank für die Antwort.

Das Auslagern in einen Thread hat leider nicht den gewünschten Erfolg gebracht.

PHP:
new Thread(new Runnable() {
     public void run() {

     try {
         showPicture(getCurrentPlayingFilename(),false);
     Thread.sleep(5000);

 } catch (InterruptedException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }


Die Methode showPicture zeigt das neue Bild an.
Leider hängt sich immer noch alles auf.

Mache ich eventuell etwas falsch ?

Gruß
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Ich meinte das richtig mit einer neuen Klasse. Um die Nebenläufigkeitbeines Threads zu haben muss man ihn mit .start() starten. Dabei wird die run-Methode ausgeführt.
 

lolslax

Mitglied
Ok, ansicht habe ich jetzt alles ausgelagert, mein Problem besteht weiterhin in folgender Exception.

Unglaublich wie schwierig so ein einfaches sleep ohne freezen der GUI sein kann.

PHP:
java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-6
java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-3
java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-5
java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-4
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I (JPanel) paintComponent mit Zeitverschiebung (Sleep/Wait) AWT, Swing, JavaFX & SWT 1
L JavaFX WebView wait AWT, Swing, JavaFX & SWT 0
Burny91 Swing Thread mit wait() und notify() steuern AWT, Swing, JavaFX & SWT 22
S Programmablauf durch "wait for Button" unterbrechen AWT, Swing, JavaFX & SWT 5
T Swing 2 Thread.sleep parallel laufen lassen AWT, Swing, JavaFX & SWT 4
P Problem Thread.sleep() und JProgressBar AWT, Swing, JavaFX & SWT 7
A Thread und sleep(1000); AWT, Swing, JavaFX & SWT 7
S Timer oder Thread.sleep AWT, Swing, JavaFX & SWT 3
J Events und Sleep? AWT, Swing, JavaFX & SWT 4
K Thread.sleep in GUI AWT, Swing, JavaFX & SWT 4
J Swing Swing und Sleep... AWT, Swing, JavaFX & SWT 2
S Thread.sleep() in einer methode fürs zeichen AWT, Swing, JavaFX & SWT 3
X Problem bei JTextArea und Thread.sleep() AWT, Swing, JavaFX & SWT 8
B Swing Swing und Thread.sleep() AWT, Swing, JavaFX & SWT 6
T thread.sleep Sprung Problem AWT, Swing, JavaFX & SWT 24
A Sleep Funktion / Thread-Problem ! AWT, Swing, JavaFX & SWT 11
S Problem mit 2 Thread.sleep AWT, Swing, JavaFX & SWT 3
M JTextArea in JScrollPane, Problem mit Thread.sleep() AWT, Swing, JavaFX & SWT 5
S Thread.sleep() beim Zeichnen auf Swing Komponenten? AWT, Swing, JavaFX & SWT 6
Y GBO friet bei Thread.sleep ein AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben