# Anwendung schließen ohne System.exit



## Hachmed (20. Jul 2011)

Hallo ihr!
Die Überschrift sagt eig. schon alles.
Ich möchte meine Anwendung beenden, ohne aber ein System.exit() zu benutzen, da dies ja als zu drastischer Schritt gesehen wird.
Ich habe ein Fenster, dass muss geschlossen werden.
Das Fenster hat als DEFAULT_CLOSE_OPERATION EXIT_ON_CLOSE...
Wenn der Nutzer auf 'BEENDEN' drückt, schließe ich das Fenster per dispose...
Sie läuft aber noch weiter.... wieso ???:L
Und wie kann ich sie endgültig beenden?


----------



## L-ectron-X (20. Jul 2011)

Hast du noch irgendwo einen Thread laufen, oder noch Teile des Fensters referenziert?


----------



## Hachmed (20. Jul 2011)

Threads laufen sonst nicht und es gibt nur dieses eine Fenster...
oder was meinst du mit 





> noch Teile des Fensters referenziert?


?


----------



## Michael... (20. Jul 2011)

Hachmed hat gesagt.:


> Ich möchte meine Anwendung beenden, ohne aber ein System.exit() zu benutzen, da dies ja als zu drastischer Schritt gesehen wird.


Wer sagt sowas?

Wenn als DefaultCloseOperation 
	
	
	
	





```
EXIT_ON_CLOSE
```
 gesetzt wird. Wird beim Schließen des Fensters genauso 
	
	
	
	





```
System.exit(0);
```
 aufgerufen.


----------



## Hachmed (20. Jul 2011)

Ehrlich?
Ich hatte gelesen, dass mit System.exit() evtl die JVM gestoppt wird...
Und da meine Anwendung aus einer größeren Anwendung aufgerufen wird, hatte ich etwas Angst, ich könnte beides beenden...


----------



## Michael... (20. Jul 2011)

Hachmed hat gesagt.:


> Ehrlich?
> Ich hatte gelesen, dass mit System.exit() evtl die JVM gestoppt wird...
> Und da meine Anwendung aus einer größeren Anwendung aufgerufen wird, hatte ich etwas Angst, ich könnte beides beenden...


Ehrlich! ;-) Je nachdem wie Deine Anwendung aus der anderen Anwendung aufgerufen/gestartet wird, ist die Angst berechtigt. Dann darfst Du allerdings auch nicht EXIT_ON_CLOSE verwenden - nur DISPOSE_ON_CLOSE was wie der Name schon sagt dispose() am Frame.

Du müsstes dann allerdings irgendwoher wissen, ob die JVM beendet werden darf oder nicht bzw. ob Deine Applikation in einer eigenen JVM läuft oder in der einer anderen.


----------

