# ein AWT-Frame schließen .



## Guest (2. Feb 2008)

Also ich habe ein Frame erstellt, und durch einen Klick im Menü wird ein weiteres Frame erstellt. Nun würde ich gerne das Frame wieder schließen, wenn ich rechts oben auf das x klicke, aber das vorherige Frame soll bestehen bleiben!
Nun ist meine Frage, wie ich das machen kann. Ist übrigends ein AWT-Frame!
Vielen Dank Michel


----------



## anfänger15 (2. Feb 2008)

```
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
```

Wiso benutzt du dafür ein weiteres Frame? Wenn das so ne Art Dialog ist würde ich JDialgo benutzen, denn eine Anwendung sollte normalerweiße nur ein (J)Frame haben.


----------



## MaiTie (2. Feb 2008)

Ja den Befehl hatte ich auch schon mal gefunden, aber den erkennt Eclipse nicht an ... also muss das Frame irgendwie nicht übergeben sein oder so ...

wo soll ich das denn dann hinschreiben? kommt davor noch der framname mit punkt und dann diese zeile?


```
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
```


----------



## MaiTie (2. Feb 2008)

Also ich habs einfach mal eingebaut, aber er bringt mir folgenden Fehler:



> WindowConstants can not be resolved



Rot unterstrichen wird Window Constants![/code]


----------



## L-ectron-X (2. Feb 2008)

Ja, weil dieser Code-Schnipsel nur an Swing-Fenstern funktioniert.
In AWT kann man ein Fenster so schließen:

```
import java.awt.event.*;
[...]

//im Konstruktor
addWindowsListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
      System.exit(0);
   }
});
```


----------



## MaiTie (3. Feb 2008)

> Ja, weil dieser Code-Schnipsel nur an Swing-Fenstern funktioniert.
> In AWT kann man ein Fenster so schließen:



Das stimmt aber nicht wiklich! Denn das schließt die gesamte Anwendung! Ich möchte aber nur das bestimmte Frame schließen, das was dahinter liegt, soll noch bleiben.


----------



## anfänger15 (3. Feb 2008)

```
import java.awt.event.*;
[...]

//im Konstruktor
addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
      frame.setVisible(false);
   }
});
```


@L-ectron-X muss addWindowListener ohne s heißen


----------



## L-ectron-X (3. Feb 2008)

:lol: Ja, du hast völlig Recht. Diesen Tippfehler schleppe ich schon sehr lange mit mir herum. Passiert mir immer wieder...

Und: Normalerweise sollte es meiner Meinung nach in einer Anwendung immer nur einen (J)Frame geben, der Rest der Fenster sollte mit Dialog-Fenstern gemacht werden. Deshalb hab ich die Anwendung oben geschlossen.


----------



## anfänger15 (3. Feb 2008)

L-ectron-X hat gesagt.:
			
		

> Und: Normalerweise sollte es meiner Meinung nach in einer Anwendung immer nur einen (J)Frame geben, der Rest der Fenster sollte mit Dialog-Fenstern gemacht werden. Deshalb hab ich die Anwendung oben geschlossen.





			
				anfänger15 hat gesagt.:
			
		

> denn eine Anwendung sollte normalerweiße nur ein (J)Frame haben.


----------

