# CLOSE in JOptionPane



## JayJayM (6. Jun 2011)

Hallo zusammen,

ich rufe einen JOptionPane-Message Dialog auf.


```
JOptionPane.showMessageDialog(
						null,
						"Herzlich Willkommen");
```

Wenn der Anwender auf "ok" klickt, läuft das Programm normal weiter. (das ist auch gut so )

Wenn er allerdings auf das Schließenfeld rechts oben klickt, soll das Programm beendet werden.
Kann mir jemand helfen, wie ich das programmieren kann?

Folgende Idee hatte ich:
über eine if-Abfrage mit JOptionPane.CANCEL_OPTION. Mein Problem ist hier allerdings, dass der Message-Dialog ja kein wirkliches "Ergebnis" liefert.

Über Hilfe freue ich mich sehr!

Grüße,
JayJay


----------



## andreas2505 (6. Jun 2011)

mit System.exit(0); kannst du das Programm dann abbrechen


----------



## Gelöschtes Mitglied 5909 (6. Jun 2011)

Das macht man normalerweise mit JFrame#setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

wenn du nur Joptionspanes in deinem Programm verwendest, machst du was falsch.


----------



## JayJayM (6. Jun 2011)

mmh... dann mach ich wohl was falsch. 

gibts ne Möglichkeit ohne JFrame?


----------



## Gelöschtes Mitglied 5909 (6. Jun 2011)

Auch wenns alles andere als sauber/gut/richtig ist...



> When one of the showXxxDialog methods returns an integer, the possible values are:
> 
> YES_OPTION
> NO_OPTION
> ...




```
int result = JOptionPane.show...
if (result == JOptionPaneCLOSED_OPTION) {
  System.exit(0);
}
```


----------



## Michael... (6. Jun 2011)

showMessageDialog(...) liefert keinen Rückgabewert, bei anderen scheint möglich zu sein, dass ein 
	
	
	
	





```
JOptionPane.CLOSED_OPTION
```
 zurückzubekommen.
Besser wäre - wie erwähnt - mit JFrame oder JDialog zu arbeiten.


----------



## hdi (6. Jun 2011)

Nimm doch nen ConfirmDialog:

JOptionPane (Java Platform SE 6)



> Returns:
> an integer indicating the option selected by the user



Und zwar auch für den Fall, dass man oben rechts auf das "X" klickt. Das wäre dann "CLOSED_OPTION".


```
if(JOptionPane.showConfirmDialog(...) == JOptionPane.CLOSED_OPTION){
    System.exit(0);
}
```

Was für Knöpfe beim Confirm-Dialog angezeigt werden sollen kannst du auch bei einem der Parameter einstellen.


----------



## JayJayM (6. Jun 2011)

Super, vielen Dank!

werde wohl allgemein noch an meiner "JAVA-Korrektheit" arbeiten müssen ^^


----------

