# Anwendung Schließen (x) abfragen



## joschika77 (28. Nov 2003)

Hallo!

Wie kann ich das X oben Rechts im Frame für das Schließen der Anwendung abfragen?
Ich möchte vor dem Schließen eine Frage, ob wirklich geschlossen werden soll(JOptionPane),  stellen.

Gruß Ronn


----------



## Stefan1200 (28. Nov 2003)

Das geht ganz einfach:
Als erstes brauchst du den WindowListener
Hier fragst du in windowClosing ab, ob wirklich beendet werden soll.
Damit das Fenster aber nicht bereits vorher geschlossen wird, musst du bei deinem JFrame oder JDialog noch folgendes einstellen:


```
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
```

Mehr Info hier:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation(int)


----------



## joschika77 (28. Nov 2003)

Danke erstmal.
Jetzt reagiert beim Klick nichts mehr.
Er geht nicht in diese WindowClosingFunktion.
Was kann ich machen?


----------



## Stefan1200 (28. Nov 2003)

In dem windowClosing musst du jetzt die Abfrage mit JOptionPane reinsetzen. Wenn diese positiv ist, machst du


```
setVisible(false);
dispose();
System.exit(0);
```


----------



## Stefan1200 (28. Nov 2003)

Hast du denn auch beim JFrame/JDialog den WindowListener registriert?


----------



## Nobody (29. Nov 2003)

also du packst in den schliessen teil dann noch folgendes ein (schau ob schreibfehler drin ist, da ich das jetzt so geschrieben hab):


```
Object[] options = { "JA", "Nein"};
    int antwort=-1;
    antwort=(JOptionPane.showOptionDialog(null, "M\uFFFDchten Sie das Programm wirklich schliessen?", "Warnung", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]));
if(antwort==0){
  System.exit(0);
}
```


----------



## joschika77 (1. Dez 2003)

He Leute.

Wollte euch danken.
Habe das jetzt hinbekommen.
Habe vergessen den WindowListener zu registrieren.

Danke nochmal!

Gruß Ronn


----------

