x Sekunden warten, dann Kommando ausführen

Status
Nicht offen für weitere Antworten.

jabbah

Mitglied
Hallo,

bei meinem Programm soll der Benutzer einer beliebige Zeit in Millisekunden eingeben kann und dann nach drücken eines bestimmten Buttons, soll sich das Fenster nach der angegeben Zeit schließen.

Ich dachte, die Zeit, die das Programm abwarten soll, bis es zum nächsten Kommando geht, könnte ich mit wait erreichen.

Ich hab also

Code:
frame.wait(timeToAutoClose);
close();

aber ich bekomm dann folgende Exception

ava.lang.IllegalMonitorStateException


Sagt mir nich viel. In der Doku hab ich zwar etwa gefunden, aber das besagte, dass ich was benutzte, was mir aber gar nicht zusteht (oder sp ähnlich).


Wie kann ich denn sonst meinem Rechner klar machen, dass ich x sekunden warten will und dann soll das Fenster geschlossen werden?

Gruß Jasmin
 

jabbah

Mitglied
okay, fünf minuten länger nachdedacht und ich wär bestimmt auch auf die lösung gekommen.

Aber trotzdem interessiert es mich, warum ich die Exception bei frame.wait() bekomme
 

norman

Top Contributor
API hat gesagt.:
throws IllegalMonitorStateException - if the current thread is not the owner of the object's monitor.
:arrow: ich würde daraus schließen, dass dein frame in einem anderem thread erstellt wurde. aber vermutlich ist das so auch nicht richtig?
 
B

Beni

Gast
Um "wait" auf ein Objekt aunzuwenden, muss man den Monitor des Objektes besitzen. Den Monitor bekommt man mit Hilfe von "synchronized". Solange man den Monitor besitzt (und nicht wartet), kann kein anderer Thread den Monitor des Objektes erhalten.

Code:
Frame frame = ...
synchronized( frame ){
  try{
    frame.wait();
  }
  catch( InterruptedException ex ){
    // wird aufgerufen, wenn "interrupt" auf den aktuellen Thread angewandt wurde
  }
}
 

Illuvatar

Top Contributor
Man sollte vielleicht zu sagen, dass das etwas ganz anderes ist, und normal nicht dazu verwendet wird, x Sekunden zu warten!
Das wait wartet - einfach gesagt - darauf, dass ein anderer Thread die notify() Methode aufruft, und kehrt dann zurück. Man kann eben zusätzlich noch eine maximale Wartezeit angeben.
 

Leroy42

Top Contributor
Ist aber auch wirklich ziemlich irritierend definiert. :autsch:

Auf den ersten Blick würde ich eine Zeile wie
Code:
frame.wait()
als eine Aufforderung an frame verstehen, daß er warten soll; worauf auch immer ???:L

Besser wäre vielleicht gewesen, in Object eine Methode einzufügen, daß man
schreiben kann:
Code:
if (irgendwas) {
    waitFor(frame);
}
 

mic_checker

Top Contributor
merk dir halt das du wait nur auf ein Objekt anwenden kannst das z.B. durch synchronized gesperrt ist.
uebrigens: wait ist eine Methode aus Object :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java- Bild gewissen Anzahl von Sekunden anzeigen?! Allgemeine Java-Themen 4
W Thread sleep 30 sekunden - wenn keine Antwort bis dahin neu senden Allgemeine Java-Themen 2
E Java wird beendet nach paar Sekunden Allgemeine Java-Themen 14
Z Eclipse hängt sich alle paar Sekunden auf (Keine Rückmeldung). Allgemeine Java-Themen 4
F JLabel nach 5 Sekunden wieder leeren Allgemeine Java-Themen 7
1 java Zeitstempel mit nano sekunden Allgemeine Java-Themen 3
G Thread nach x Sekunden beenden ... Allgemeine Java-Themen 8
L in zufälligen Sekunden Ausgabe machen Allgemeine Java-Themen 2
L hunderstel Sekunden in mm:ss:hshs konvertieren Allgemeine Java-Themen 4
Kr0e Sekunden -> Zeit Allgemeine Java-Themen 14
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
H Sekunden messen wie lange h.ibernate/jdbc abfragen brauchen Allgemeine Java-Themen 7
P Dauer (Tage, Stunden, Minuten, Sekunden) berechnen Allgemeine Java-Themen 5
G Textfeld alle 0.5 Sekunden aktualisieren Allgemeine Java-Themen 2
T Countdown -> Sekunden anzeigen Allgemeine Java-Themen 4
D FileOpenDialog dauert 23 Sekunden bis zur Anzeige Allgemeine Java-Themen 2
J Warten bis cmd Prozess fertig ist Allgemeine Java-Themen 2
M Warten vor OnClickListener Allgemeine Java-Themen 2
B Threads Multithreading Threads sollen warten Allgemeine Java-Themen 12
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
M Warten bis Variabel nicht null ist Allgemeine Java-Themen 18
chuxXo Warten auf BasicPlayer - JavaZOOM SoundAPI Allgemeine Java-Themen 8
J Java Auf anderes Programm warten Allgemeine Java-Themen 9
W Threads Threads warten lassen Allgemeine Java-Themen 5
D Simpler Timer zum warten Allgemeine Java-Themen 19
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
das-mo Warten auf Event Allgemeine Java-Themen 7
L Im Thread auf Eingaben warten Allgemeine Java-Themen 3
frankred Threads Auf eine Gruppe von Threads warten Allgemeine Java-Themen 11
S Warten, bis ein Impuls von außen kommt. Allgemeine Java-Themen 2
A Warten auf shellscript Allgemeine Java-Themen 3
K Warten bis Datei geändert Allgemeine Java-Themen 2
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
KrokoDiehl Desktop.open() und warten? Allgemeine Java-Themen 3
Guybrush Threepwood Warten, bis keine Taste gedrückt Allgemeine Java-Themen 11
H auf Methode warten Allgemeine Java-Themen 2
F thread warten lassen Allgemeine Java-Themen 2
N "Bitte warten"-Meldung Allgemeine Java-Themen 6
P Swing Eine Sekunde warten (Timer) Allgemeine Java-Themen 7
kodela Warten mit Java Allgemeine Java-Themen 5
L Warten bei mehreren Threads, bis Ende erreicht ist Allgemeine Java-Themen 2
S Threads eines Pools aufeinander warten lassen Allgemeine Java-Themen 11
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
MQue auf gestarteten Process warten Allgemeine Java-Themen 7
M Auf Einträge im Buffer warten Allgemeine Java-Themen 7
M In der GUI / im Model auf Webrequest warten? Allgemeine Java-Themen 4
G Auf den Start eines Threads warten? Allgemeine Java-Themen 4
M Auf Thread warten Allgemeine Java-Themen 5
G Warten? Allgemeine Java-Themen 3
R Warten auf Beendigung eines externen Prozesses Allgemeine Java-Themen 4
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
C Java Parameter zum starten ohne auf Programmende zu warten Allgemeine Java-Themen 4
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
P Warten auf ein Ereignis Allgemeine Java-Themen 7
R Thread beenden und warten, bis er fertig ist Allgemeine Java-Themen 4
K Warten auf die Eingabe aus Fenster.... Allgemeine Java-Themen 2
O Warten bis alle gestarteten Threads beendet sind? Allgemeine Java-Themen 6
Q Methode soll auf schließen eines Frames warten Allgemeine Java-Themen 4
S methode stoppen / auf ein event warten Allgemeine Java-Themen 5
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
R Thread soll auf MouseClick warten Allgemeine Java-Themen 2
W Warten bis gestartetes Programm beendet wird Allgemeine Java-Themen 2
D Warten auf Dateien aus externem Programm Allgemeine Java-Themen 3
D commapi lesen, auf zeichen warten. Allgemeine Java-Themen 2
sliwalker Threads: Kann man auf anonyme Threads warten? Allgemeine Java-Themen 2
S Datei endlos einlesen (am Dateiende warten) Allgemeine Java-Themen 3
N auf java 1.5 (tiger) warten? Allgemeine Java-Themen 4
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
M Input/Output FileChannel writes / werden diese gecached vom OS und dann erst geschrieben? Allgemeine Java-Themen 6
J Eigene Api erstellen und dann auch verwenden - Ordnerstruktur Allgemeine Java-Themen 1
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
T .jar über cmd ausführen (später dann batch) Allgemeine Java-Themen 6
B Erkennen, wann Prozess beendet ist, dann Thread beenden. Allgemeine Java-Themen 6
D File mit Inhalt kopieren und dieses File dann neu erstellen ? Allgemeine Java-Themen 4
D Java Skript Wenn Dann in PDF Formular Allgemeine Java-Themen 2
J Verschiedene Klassen als "Object" in ArrayList und dann in for-Schleife erzeugen!? Allgemeine Java-Themen 2
N Problem: Datei sperren um dann hineinzuschreiben Allgemeine Java-Themen 2
T iText Dokument in DB und dann in ein JPanel Allgemeine Java-Themen 5
Developer_X "String" in "int" umwandeln, und dann "int" in "float" Allgemeine Java-Themen 8
E Byte [] nach hex, dann nach dec Allgemeine Java-Themen 2
M Text in JTextfield einfügen sofort dann wird Text gekürzt Allgemeine Java-Themen 2
C Mathefunktion zur Laufzeit einlesen und dann verarbeiten Allgemeine Java-Themen 13
C PostMethod zur Formulareingabe und dann? Allgemeine Java-Themen 6
R Bild downloaden und dann Applet ausfüllen Allgemeine Java-Themen 2
L Wenn String matches [-.,;:_°&] dann. Allgemeine Java-Themen 5
G nur noch 2 kleinigkeiten dann bin ich glücklich^^ Allgemeine Java-Themen 2
L JTable: Wenn Zeile markiert dann Meldung. geht nicht Allgemeine Java-Themen 4
N Wenn Bild nicht vorhanden, dann Weiterleitung Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben