Fenster schliessen?

axel2

Mitglied
Hi!

Mein Programm erzeugt ein Fenster und dann nach Klick auf einen Button ein weiteres.
Wie kann ich denn dafür sorgen, dass, wenn der User beim zweiten Fenster auf das X rechts oben klickt, nicht die ganze Anwendung, sondern nur das zweite Fenster geschlosssen wird?

Hier mein bisheriger Code:
Code:
public class MyClass extends JFrame implements WindowListener {
...
...
addWindowListener( this );
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
...
...
	// Implementiere WindowListener
	public void windowClosing( WindowEvent event ) {
	  //System.exit(0);
	  //event.getWindow().dispose();
	 setVisible(false);
	 dispose();
	}
	public void windowClosed( WindowEvent event ) {
	  System.out.println("Fenster wurde geschlossen");
	}
	public void windowDeiconified( WindowEvent event ) {}
	public void windowIconified( WindowEvent event ) {}
	public void windowActivated( WindowEvent event ) {}
	public void windowDeactivated( WindowEvent event ) {}
	public void windowOpened( WindowEvent event ) {}
...
 
Das zweite Fenster erzeugt nun auf die gleiche Weise ein drittes.

Nun möchte ich verhindern, dass das zweite Fenster geschlossen wird, während das dritte noch offen ist.

Die Lösung eines modalen Fensters sehe ich dabei als Notlösung an. Schöner wäre es, wenn sich beim Schliessen des zweiten Fensters das dritte gleich mit schliessen würde...
 
Est machst bei fenster2, das wie bei fenster1 (hide_on_close).

dann packst du in den WindowEventListner vom Fenster3

Code:
public void windowClosing(WindowEvent e) {
fenster2.setDefaultCloseOperation(fenster2.EXIT_ON_CLOSE);
}

Gruß
Clemens
 
Zurück