# OK-Button in JOptionPane ansprechen



## new@java (7. Okt 2010)

Hallo,

kann uns vielleicht jemand sagen, wie man in einer JOptionPane den OK-Button anspricht, also ihm einen ActionListener zuweist? Wir sind dabei, ein kleines Spiel zu programmieren und haben mit Hilfe von JOptionPane ein Fenster zur Eingabe des Spielernamens erzeugt. Nun möchten wir, dass bei Klick auf den OK-Button ein neues Fenster geöffnet wird.

Vielen Dank im Voraus für eure Hilfe!


----------



## diel2001 (7. Okt 2010)

```
int optInt = JOptionPane.show...(..); // Das Öffnen des JOptionPane gibt einen int zurück und den vergleicht ihr
if(opInt==JOptionPane.OK_OPTION){

}
```


----------



## new@java (7. Okt 2010)

Danke für die schnelle Antwort, aber wir können dir leider nicht ganz folgen. Das "int" macht uns irgendwie Probleme, da wir ja eigentlich einen "String" haben. Hier mal unser Quellcode:


```
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.Container;


public class OpenWindow implements ActionListener
{
	OurGUI ttt;
	String spielername;
	
	public OpenWindow(OurGUI t)
	
	{
		ttt = t;
	}
	
	public void actionPerformed(ActionEvent event)
	
	{
		
		String kommando = event.getActionCommand();
		
		if( kommando.equals( "Spielen"))
		{
			spielername = JOptionPane.showInputDialog(null, "Bitte Spielernamen eingeben");
		}
```


----------



## Gastredner (7. Okt 2010)

showInputDialog() müsste bei einem Abbruch mitteln Button oder Fensterdekoration eigentlich null oder einen Leerstring ("") als Rückgabe liefern - prüfe deinen String spielernamen darauf und du weißt, ob der Nutzer nun OK gedrückt oder den Dialog abgebrochen hat.


----------



## KrokoDiehl (7. Okt 2010)

Java API hat gesagt.:
			
		

> Returns:
> user's input, or null meaning the user canceled the input


Wenn euer String also null ist, könnt ihr davon ausgehen, dass die Eingabe abgebrochen wurde. Wenn nicht null wurde entsprechend "Ok" geklickt.

*edit*
suuu späd


----------



## new@java (7. Okt 2010)

Danke für eure Hilfe! Haben zwar ewig gebraucht, es umzusetzen, aber jetzt funktioniert´s!


----------

