DialogResult, FrameResult?

Status
Nicht offen für weitere Antworten.

schmalhans

Bekanntes Mitglied
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!
 

bummerland

Top Contributor
sowas musst wohl selbst implementieren.
Code:
...
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

Bekanntes Mitglied
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.
 
W

Wiesel

Gast
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.:

Code:
      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

Bekanntes Mitglied
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?
 
W

Wiesel

Gast
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

Bekanntes Mitglied
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?
 
W

Wiesel

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

schmalhans

Bekanntes Mitglied
hmm.... Das wird in JAVA nicht wirklich so gut gelöst. Aber naja, ich werd mal damit rumspielen. Danke für die Anregungen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben