# JDialog auf Knopfdruck schliessen



## Eldar (15. Nov 2007)

Hab da so meine Probleme mit der grafischen Oberfläche (Swing).
Folgendes soll passieren. 
Es exisitiert ein Hauptfenster mit Menu und 2 Unterpunkten: öffnen und schliessen.
Bei schliessen wird das Programm beendet.
Bei öffnen wird ein JDialog geöffnet mit 2 Buttons (ok und abbrechen).
Beim Klick auf abbrechen soll der Dialog verschwinden.
So, hab ein JFrame mit Menü erstellt.
Klickt man auf "Öffnen" oder Schließen, wird per ActionListener eine Befehlsfolge aufgerufen:


```
public void actionPerformed(ActionEvent event){
		String order = event.getActionCommand();
		if (order.equals("Öffnen")) 
		{
			JDialog dialog = new JDialog(this, "name", true);	
			dialog.setSize(300,100);
			dialog.setLocation(250,250);
			JButton ok = new JButton("OK");
			JButton cancel = new JButton ("Abbrechen");
			dialog.add(ok);
			dialog.add(cancel);
			ok.addActionListener(this);
			cancel.addActionListener(this);
dialog.setVisible(true);
		}
		else if (order.equals("Schließen"))
		{
			setVisible(false);
			dispose();
			System.exit(0);
		}	
	}
```
Nun hier meine Frage. Wenn im Dialog auf einen Button geklickt wird, wie kann ich das event verwerten?

edit: Dank Java6 kein getContentPane() mehr..


----------



## Niki (15. Nov 2007)

so:


```
if (order.equals("Öffnen"))
      {
         final JDialog dialog = new JDialog(this, "name", true);   
         dialog.setSize(300,100);
         dialog.setLocation(250,250);
         JButton ok = new JButton("OK");
         JButton cancel = new JButton ("Abbrechen");

         dialog.getContentPane().add(ok);
         dialog.getContentPane().add(cancel);
         ok.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
           }
         });
         cancel.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
             dialog.dispose();
           }
         });
         dialog.setVisible(true);
      }
```


----------



## Eldar (15. Nov 2007)

Aha. OK danke


----------

