Hi und sorry für die kryptische Überschrift, aber mir ist einfach nichts prägnanteres eingefallen.
Ich habe folgendes Problem. Ich programmiere zur Zeit einen Vokabeltrainer. Der funktioniert an sich schon ganz gut.. Jeder "Vokabeltestdurchlauf" findet in einem JFrame statt. geplant war, dass in diesem JFrame eine Vokabel nach der anderen abgefragt wird. Genauer gesagt sollte, nachdem man die erste Vokabel gelöst hat, nach 3 Sekunden die nächste Vokabel im gleichen JFrame abgefragt werden. Das Problem ist.. Man gibt die gesuchte Vokabel in ein Textfeld ein und klickt den "Lösen"-button, nun kommt (per Action) eine optische und akustische Bestätigung, dass die Vokabel gelöst wurde. Aber wie bekomm ich es nun hin, dass nach 3 Sekunden die nächste Vokabel angezeigt wird?
Zur Zeit sieht meine Button-Action ungefähr so aus:
wenn ich daraus nun:
mache, wird die optische bestätigung logischerweise gar nicht erst angezeigt sondern direkt die nächste Vokabel.
ein weiterer Versuch war:
aber das bringt natürlich noch viel weniger..aber ich sehe auch ein warum...weil sich das sleep auf den EDT bezieht, somit friert mein GUI für 3 sekunden ein und dann wird die nächste Vokabel angezeigt.
Weiss jemand ne Möglichkeit, dass das JFrame erst die optische Bestätigung anzeigt, dann 3 Sekunden wartet, und dann erst die nächste Vokabel anzeigt?
Ich hoffe auf die ein oder andere Hilfestellung. Vielen Dank im Voraus!
Ich habe folgendes Problem. Ich programmiere zur Zeit einen Vokabeltrainer. Der funktioniert an sich schon ganz gut.. Jeder "Vokabeltestdurchlauf" findet in einem JFrame statt. geplant war, dass in diesem JFrame eine Vokabel nach der anderen abgefragt wird. Genauer gesagt sollte, nachdem man die erste Vokabel gelöst hat, nach 3 Sekunden die nächste Vokabel im gleichen JFrame abgefragt werden. Das Problem ist.. Man gibt die gesuchte Vokabel in ein Textfeld ein und klickt den "Lösen"-button, nun kommt (per Action) eine optische und akustische Bestätigung, dass die Vokabel gelöst wurde. Aber wie bekomm ich es nun hin, dass nach 3 Sekunden die nächste Vokabel angezeigt wird?
Zur Zeit sieht meine Button-Action ungefähr so aus:
Java:
//deaktiviere den Lösen-Button im Frame
SwingUtilities.invokeLater(Spiele Sound ab)
//Zeige optische Bestätigung
wenn ich daraus nun:
Java:
//deaktiviere den Lösen-Button im Frame
SwingUtilities.invokeLater(Spiele Sound ab)
//Zeige optische Bestätigung
//Zeige nächste Vokabel an
ein weiterer Versuch war:
Java:
//deaktiviere den Lösen-Button im Frame
SwingUtilities.invokeLater(Spiele Sound ab)
//Zeige optische Bestätigung
Thread.sleep(3000)
//Zeige nächste Vokabel
Weiss jemand ne Möglichkeit, dass das JFrame erst die optische Bestätigung anzeigt, dann 3 Sekunden wartet, und dann erst die nächste Vokabel anzeigt?
Ich hoffe auf die ein oder andere Hilfestellung. Vielen Dank im Voraus!