mehrere Eingabefelder in InputDialog

Status
Nicht offen für weitere Antworten.

chrissy

Bekanntes Mitglied
Hallo,

ist es möglich einen inputDialog mit mehreren Textfeldern auszustatten???

Falls nicht, kurze Schilderung meines Problems ...

Ich habe ein Frame in dem der Benutzer Werte eingibt, falls er nicht den konkreten Wert1 zur Hand hat, möchte ich die Möglichkeit bieten, daß nach dem Klick auf einen Button ein zweites Frame / Dialog geöffnet wird, in dem er Werte zur Berechnung von Wert1 eingegibt. Danach wird Wert1 berechnet und sollte an das erste Frame zurückgegeben werden.

Bitte, bitte helft mir bin ein absoluter Anfänger und verzweifel bald daran ...

Danke
 
JOptionpane wäre nicht schlecht, aber eigentlich ist es mir egal, hauptsache ich kann irgendwie aus einer Klasse / Methode einen Dialog aufrufen, wo ich Werte eingeben kann und einen Rückgabewert erhalte
 
Dann würd ich dir raten es ganz normal mit einen Frame abzuwickeln. In welchen du einen Button (zb. "Wert berechnen") hast und dieser dir einfach einen neuen Frame aufruft und den Wert einfach wegspeichern.
 
OK, so versuch ich es im Moment, aber wie kann ich den Wert so wegspeichern, daß ich ihn in der aufrufenden Klassen abfragen kann???

Ich hab also einen Frame (Klasse1), aus diesem ruf ich per Buttonklick ein neues anderes zweites Frame (Klasse2) auf. Wie bekomm ich den Rückgabewert in Klasse1 :?:

Oder wie muß ich das zweite Frame aufrufen, damit ich einen Rückgabewert erhalte und wann gebe ich den Wert (per Return?) zurück :cry:
 
In deinem actionPerformed()..... übergibst du die Variable in deinem neuen Frame.

Dann füllst du die Variable in deinem Frame und die Sache ist gerizzt.

Hast du Syntaxprobleme oder Verständnisprobleme?
 
Dafür muss man sich entschuldigen. Nicht jeder kann alles können. Bin selber nicht wirklich der JAVA-Gott.

Ich bastel dir schnell nen Syntax, dauert nur n paar Minuten. 😉
 
Code:
public void actionPerformed(ActionEvent e) 
{
		if("END".equals(e.getActionCommand()))
		{
		     //tu was
		}
		else if("CAL".equals(e.getActionCommand()))
		{
		    //tu auch was
		}
		else if("NEU".equals(e.getActionCommand()))
		{
		    test = txtStartzeit.getText();
                                    //Katze ist dein neues Fenster
                                    //So übergibst du werde an ein neues fenster
		    Katze k = new Katze(test);

		}
                                .
                                .
                                .
}


und diese Vaiable fängste in dem Konstruktor ab.
 
OK ... hab es ausprobiert ... funzt auch super um Werte in ein neues Fenster zu laden ...

aber ... sorry ich glaube ich hab mich falsch ausgedrückt ...
ich habe ein Fenster bereits geöffnet ... von diesem öffne ich dann meinen Dialog und dieser Dialog muß dann einen Wert an das bereits geöffnete Fenster zurückgeben, halt so wie ein InputDialog, nur muß die Eingabe von mehreren Werten möglich sein und nicht nur von einem Textfeld, wie im Code unten.

Code:
String s = (String)JOptionPane.showInputDialog(
                                        frame,
                                        "Text eingeben:",
                                        "Dialog",
                                        JOptionPane.PLAIN_MESSAGE,
                                        icon,
                                        null,
                                        "Test"");
 
Da kannst jetzt eine Klasse zb. Class Werte() erstellen.
In dieser Klasse hast du dann Variable zb. int wert1, wert2, wert3 etc.

Du erzeugs eine Instanz dieser Klasse
und diese Instanz übergibs du dann dem geöffneten Fenster (anstatt in meinem vorherigen Beispiel der String). Und kannst nun die Werte beliebig setzen und du hast diese auch in deinem eigentlichen Frame/Dialog/Formular.

Das ist eine Möglichkeit.
 
Darüber hab ich mal was gelesen, dabei übergebe ich eine Objektreferenz, oder?
Und wenn ich die Werte dann in meinem zweiten Fenster änder werden automatisch die Werte im ersten Fenster mitgeändert ??? :?
 
Du übergibst die Objektinstanz. Jede Instanz hat sogenannte Instanzvariablen und diese Variablen kannst du dann im 2ten Fenster ändern.

zb.
Code:
Katze k = new Katze();
k.name = "Mausi";
k.groesse = "richtig fett";

So kannst du diese Werte ansprechen. Egal aus welchen Fenster, sobald du die Instanz (in diesem Fall k) übergibst, kannstd du die Werte abrufen (ändern/lesen/etc).
 
oh danke danke danke, genau das ist es was mir gefehlt hat ... 😀

ich wußte nicht, daß ich Variablen aus dem ersten Fenster abfragen kann, wenn ich das zweite Fenster einmal initialisiert habe ... nun funzt es super *tauschendfachknuddelundknutsch* 😳
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben