Alle Fenster schließen

virtualmatrix

Grünschnabel
Hi!

Ich hätte eine Frage. Vielleicht könnt Ihr mir ja helfen.
Ich habe eine Swing Anwendung die für verschiedene Rollen,
verschiedene Fenster mit verschiedenen Funktionen bereitstellt.

Ich habe dazu eine Klasse für Rolle 1 für Rolle 2 usw.

Am Anfang des Programmes gibt es einen Loginscreen, bei dem
der Benutzer sich anmelden kann. Nach korrekter Anmeldung, wird je
nach Rolle eine Instanz der Rollen Klasse erzeugt und diese Instanz.setVisible(true) gesetzt.

Also z.B.

Code:
Redakteursfenster rf = new Redakteursfenster();
rf.setVisible(true);


Damit erscheint das Fenster.

Wenn jetzt z.B. 3 Rollen (z.B. Administrator, Redakteur, Chefredakteur) gleichzeitig aktiv sind, (kann sein) sind damit auch 3 Fenster offen, die alle von 3 verschiedenen Klassen erzeugt wurden.

Ich wollte nun eine Logout Funktion haben, die zurück zum Loginscreen geht (also eine Instanz des Hauptfensters erzeugt) und dann auch noch alle anderen offenen Fenster schließt. Ich kann zwar nun eine Instanz des Hauptfensters erzeugen und komme auf den modalen Dialog des Loginscreens, sobald ich aber neu Passwort und Loginname eingegeben habe und mich einlogge bestehen die alten Fenster weiter (ohne die Anwendung komplett zu verlassen).

Mich würde nun interessieren, wie ich die alten Fenster vor dem Aufrufen des Loginscreens alle schließen kann?

Danke Euch schon mal.
 
Zuletzt bearbeitet:
Hi!

da ich dein System nicht ganz verstanden habe, würde ich dir generell vorschlagen, um ein Fenster zu schließen
Java:
obj.dispose();
zu verwenden...
Ebenso würd ich vielleicht eine art Controller einbauen,der die geöffneten Fenster verwaltet und bei einem schießen eben nur das geschlossene Fenster disposed!

Hoffe, ich konnte ein wenig weiterhelfen...
Gruß
Felix
 
Moin!
Noch als kleine Anmerkung... Um alle Frames einer Anwendung zu erhalten kann man die statische Methode Frame.getFrames() nutzen..

*grüssle*
MeinerEiner
 
Zurück