[Java] Fenster mit Rückgabe (erledigt)

Tam

I am from Austria
ID: 264199
L
26 November 2006
90
7
gibt es in java ein fenster mit rückgabewert?
also sowas wie

Code:
JOptionPane.showInputDialog(...);

nur dass ich den dialog selbst designen kann, mit beliebig vielen textfeldern und labels
 
Zuletzt bearbeitet:
gibt es in java ein fenster mit rückgabewert?
also sowas wie

Code:
JOptionPane.showInputDialog(...);

nur dass ich den dialog selbst designen kann, mit beliebig vielen textfeldern und labels

Ist durchaus möglich.
Stichwort: Vererbung!
Schreib eine eigene Klasse 'extens ...Dialog' und passe alles nach deinen Wünschen an.
 
oO ich würde dir jetzt stark nochmal zu den basics von java raten.
Durch die Vererbung bekommt dein Fenster die Eigenschaften von einem DialogFenster mit (Child im Vordergrund vom parent usw) wie du dann das Fenster aufbaust und was passiert wenn der Nutzer auf OK klickt kannst du dann selber implementieren ansonsten kannst du ja die Funktionen nutzen die du vom Dialog bekommst...

also zb ruft dein dialogfenster die set-Methode auf und du hast im Parent-fenster die Werte die im Child-Fenster eingegebene Werte

mfg
Samy
 
hmm, also ein eigen definiertes JFrame was dir nach dem Methodenaufruf die Inhalte zurückliefert?
Ist möglich!
mit viel Codingaufwand, setzen eines Event-Listener auf den Schließen-Knopf und dabei Speicherung der Variablen in einem Objekt und dies zurückliefern.

hier mal Pseudo-Code für die Methode zum Aufruf:
Code:
public Daten showDingsdaDialog(){
  Daten d = new Daten();
  Fenster fenster = new Fenster(d);
  fenster.open(); //ab hier blockiert die Methode bis das Fenster geschlossen wird
  return d;
}


Pseudo-Code für die Fenster-Klasse:
Code:
public class Fenster extends JFrame{
  private Daten d;
  public Fenster(Daten d){
    this.d=d;
  }
  //Listener für das Schließen:
  jButton.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
      d.setWert1(jTextFieldMuh1.getText());
      d.setWert1(jTextFieldMuh2.getText());
    }
  });
}

Da in Java Objekte immer per Referenz übergeben werden ist es so möglich in der showDingsDialog-Methode ein Objekt zu definieren dies dem JFrame zu geben welches beim Beenden des Fenster das Objekt füllt und es in der showDingsDialog-Methode wieder mit gefülltem Wert zu verwenden
 
bastel dir einfach irgend nen fenster ob vererbt oder nicht bleibt dir überlassen. lasse es als modal anzeigen, also das nur dieses eine fenster genutzt werden kann und der code an der stelle erstmal stehen bleibt. schließt man das fenster gehts weiter, du rufst deine class.willDaten() methode auf und hast praktisch was du suchst ;)
 
jo, dankeschön mal für eure antworten.

irgendwie hab ichs mir dann doch zusammenbasteln können und es hat funktioniert^^