Hallo,
Ich hab mal eine Frage die mich doch sehr verwirrt hat.
Ich schreibe Eine gui Anwendung bei dessen Kosntruktor eine Funktion namens init() aufgerufen wird, die u.a. die Config datei mit angaben zum Benutzer ausließt. Anschließend wird die funktion createMainFrame() aufgerufen, die mir das Fenster Zeichnet.
Zur Config Datei: Ist diese noch nicht vorhanden oder leer, so wir werden die Daten eines Neuen Benutzers erfragt, dann ggf die Datei erzeugt und dann die Daten gespeichert. Am Ende setzt sie eine Globale Variable userAv auf true (siehe unten)
Nun meine Frage: um darauf zu warten dass der Nutzer erzeugt wurde, verwende ich folgende whileschleife:
Ist nicht unbedingt schön, aber erstmal die einfachste Lösung.
Nun zu meiner Frage:
Lasse ich die Schleife so wie sie ist, terminiert zwar init(), jedoch wird createMainFrame(), die direkt nach dem erstellen des Objektes aufgerufen wird, nicht ausgeführt. Das Programm hängt.
Wenn ich jedoch in die Whileschleife
einfüge, funktioniert alles wunderbar.
WARUM??
Danke schonmal
Ich hab mal eine Frage die mich doch sehr verwirrt hat.
Ich schreibe Eine gui Anwendung bei dessen Kosntruktor eine Funktion namens init() aufgerufen wird, die u.a. die Config datei mit angaben zum Benutzer ausließt. Anschließend wird die funktion createMainFrame() aufgerufen, die mir das Fenster Zeichnet.
Zur Config Datei: Ist diese noch nicht vorhanden oder leer, so wir werden die Daten eines Neuen Benutzers erfragt, dann ggf die Datei erzeugt und dann die Daten gespeichert. Am Ende setzt sie eine Globale Variable userAv auf true (siehe unten)
Nun meine Frage: um darauf zu warten dass der Nutzer erzeugt wurde, verwende ich folgende whileschleife:
Java:
while(!userAv)
{
}
Ist nicht unbedingt schön, aber erstmal die einfachste Lösung.
Nun zu meiner Frage:
Lasse ich die Schleife so wie sie ist, terminiert zwar init(), jedoch wird createMainFrame(), die direkt nach dem erstellen des Objektes aufgerufen wird, nicht ausgeführt. Das Programm hängt.
Wenn ich jedoch in die Whileschleife
Java:
System.out.println("");
WARUM??
Danke schonmal