# Dialog (JOptionPane): Ja / Nein



## Louis2 (1. Jul 2005)

Hallo,

ich habe eine JTable und ein Button "Send Button", beim Click soll ein Dialog erscheinen, geantwortet werden darf nur mit Ja oder Nein. Wenn das Button Ja geklickt wird, soll das ausgeführt werden was danach kommt, wenn das Nein gedrückt wird soll abgebrochen werden und der Status bevor das "Send Button" gedrückt wurde wieder angezeigt werden.

Mein Fragen:
1. Wie kriege ich das "schliessen" Symbol von Windoof oben rechts weg, bzw. inactive, dass der Dialog nur mit Ja/nein beendet werden kann?
2. Für die Überprüfung habe ich was probiert, die Meldung " non-static method getValue() cannot be referenced from a static context" erscheint nun, wie kann ich es anders handhaben?
3. Bei der Überprüfung wenn "Nein" gedrückt wurde, soll er zum Zustand vor dem "Send Button" Click zurückkehren, wie schaffe ich das? Break geht ja nicht...


```
public void actionPerformed(ActionEvent e) 
{
        if (main.LogSchalter.equals("NO") | main.LogSchalter.equals("No") | main.LogSchalter.equals("no"))
        {
            if (e.getSource() == sendButton) 
            { 
                Object[] options = {"Yes", "No"};
                int ret = JOptionPane.showOptionDialog(this, "Emails zum Versand bereit, bitte bestätigen!", "Email Versand Bestätigung", 
                JOptionPane.YES_NO_OPTION, 
                JOptionPane.WARNING_MESSAGE,null, 
                options, options[0]);
                
                int choice = ((Integer)JOptionPane.getValue()).intValue(); // Meldung s.o
                if (choice == JOptionPane.NO_OPTION) 
                // Muss zum Zustand bevor "Send Button" gedrückt wurde zurückkehren 
                    
                else if (choice == JOptionPane.YES_OPTION)  
                    sendmail(0);
            }
        }
}
```


----------



## hephaistos (1. Jul 2005)

warum wertest du "X" (schließen) nicht einfach als "NEIN"?
dh: alles was nicht JOptionPane.YES_OPTION ist?

hth


----------



## L-ectron-X (1. Jul 2005)

Warum legst du eine neue int-Variable (choice) an, wenn du nur deine int-Variable (ret) auszuwerten brauchst?

```
if(ret == JOptionPane.NO_OPTION)
```


----------



## Louis2 (1. Jul 2005)

Erledigt, wen es interessiert. 

```
public void actionPerformed(ActionEvent e) 
{
        if (main.LogSchalter.equals("NO") | main.LogSchalter.equals("No") | main.LogSchalter.equals("no"))
        {
            if (e.getSource() == sendButton) 
            { 
                Object[] options = {"Yes", "No"};
                int ret = JOptionPane.showOptionDialog(this, "Emails zum Versand bereit, bitte bestätigen!", "Email Versand Bestätigung", 
                JOptionPane.YES_NO_OPTION, 
                JOptionPane.WARNING_MESSAGE,null, 
                options, options[0]);
                
                if (ret == JOptionPane.YES_OPTION) 
                    sendmail(0);
            }
        }
}
```


----------

