# DialogResult, FrameResult?



## schmalhans (23. Aug 2005)

Hu,

wie ich mittlerweile schön des öfteren erwähnt habe komme ich aus der C-Welt.
Nun gibt es bei C/C++/C# die Möglichkeit auf Buttons DialogResults zu legen.
z.B.:
btnEnd.DialogResult = DialogResult.OK;

Wird dieser Button nun gedrückt, wird das Fenster geschlossen und der der DialogResult.OK übergeben.

Der Aufruf aus der vorhergegangen Klasse kann dann diesen Result abfangen.

Ich hab mir nun die Finger wundgesucht find aber nix. Aber es muss doch sowas bei JAVA geben.

Help please!


----------



## schmalhans (24. Aug 2005)

Guten Morgen,

hab ich es ungenau beschrieben? Oder weiß wirklich niemand was dazu?


----------



## bummerland (24. Aug 2005)

sowas musst wohl selbst implementieren.

```
...
public static final int OK = 1;
public static final int CANCEL = 2;
private int button = 0;

public void actionPerformed(ActionEvent e){
    if (e.getActionCommand().equals("OK"){
        this.button = OK;
    }
}

public int getButton(){
    return this.button;
}

....

if (dialog.getButton == XXXDialog.OK){
...
}
```


----------



## schmalhans (24. Aug 2005)

och nö.... 

Das is ja besch..ert. Und ich war grad so begeistert von JAVA (Sun glaubt wirklich sie hätten mit JAVA das Rad neu erfunden). Und nun doch so ein herber Rückschlag. Schade.
Trotzdem danke für die Antwort/Hilfe.


----------



## Wiesel (24. Aug 2005)

Ich weiß zwar nicht genau wie komplex das ganze bei dir sein soll, aber für einfache JA/NEIN oder OK Abfragen eignen sich hervorragend OptionDialogs, wie z.B.: 


```
Object[] options= { "Ja", "Nein", "Abbrechen" };

      int n= JOptionPane.showOptionDialog(HAUPTFRAME,  "Anzuzeigender Infotext", "Überschrift",
          JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, options,
          options[0]);

      switch (n) {
      case 0:
        // Ja wurde gedrückt
      case 1:
        // Nein wurde gedrückt
        break;
      case 2:
        // Abbrechen wurde gedrückt
      }
```

Vielleicht ist das ja sowas was du suchst

mfg


----------



## schmalhans (24. Aug 2005)

Das würde ja reichen/gehen. Aber ich dachte, da gibt es was vorgefertigtes wie bei C.

Wie würde ich das aber im Hauptfenster abfragen was er im neuen Fenster gedrückt hat.

Sag wir mal z.B. ich hab eine Taste "OK" gedrückt.
Wie check ich nun im Hauptfenster das OK gedrückt wurde?
Sprich, wie übergeb ich ne Variable zurück ans Hauptfenster?


----------



## Wiesel (24. Aug 2005)

Hoffe ich hab richtig verstanden was du meintest

Du kannst dir ja in dem Objekt wo du den aufruf mit der "OptionPane" machst, eine Refernz auf den Hauptframe vorhalten (Brauchst du eh um die OptionPane zu erzeugen). Dann kannst du im switch case block die entsprechende Methode über diese Refenerenz des Hauptframes ausführen.


----------



## schmalhans (24. Aug 2005)

Ich will ja eigentlich kein OptionPane machen. Es soll ein ganz normaler Frame werden, weil da ja mehr drauf ist. (zb. ListBox, ComboBoxen, etc...). Wie mach ichs dann?


----------



## Wiesel (24. Aug 2005)

ich fürchte dann musst das wirklich mit action listener und so weiter von hand machen


----------



## schmalhans (24. Aug 2005)

hmm.... Das wird in JAVA nicht wirklich so gut gelöst. Aber naja, ich werd mal damit rumspielen. Danke für die Anregungen.


----------

