Auf bestätigen von Benutzereingaben warten

raptot

Mitglied
Hallo,
Ich brauch etwas hilfe bei meinem Programm:

Zu einem bestimmten Zeitpunkt soll mein Programm ein Fenster öffnen (Eine Art Dialog) dann dort eingaben machen (Dazu sind auch ein paar andere Buttons als Ok und Cancel nötig, und soweit ich weiss schliessen JDialogs sobald irgend ein Button gedrückt wird), danach soll das Programm sich die Eingaben aus dem Fenster/Dialog-Objekt mit einer Methode holen. Das ganze soll ungefähr so aussehen
Code:
MyDialog dialog = new MyDialog;
/*Hier sollt das Hauptprogramm  nun warten
* also soll das MyDialog sich modal verhalten
*/
Eingabedaten = dialog.getInputValues();

Wie lässt sich sowas bewerkstelligen. Das Problem ist halt, dass dieser Dialog halt mehrere Buttons enthält (zum Beispiel einem, um einen eingebenen String in die angezeigte Listbox hinzuzufügen) und ein JDialog sich schließt wenn irgendein Button gedrückt wird (Wenn ich mich in dem Punkt irre, dann wäre ich für einen Hinweis dankbar)

mfg
Raptor
 
Wenn Dir die standard Dialoge nicht reichen (JOptionPane), baue doch eine Klasse, die von JDialog abgeleitet ist. Die kann nach Herzenslust gestaltet sein. Ein solches Dialog-Objekt kannst Du auch nach einem "dispose" ganz gewöhnlich nach Inhalten/Eingaben abfragen. Denn auch für JDialog-Objekte gilt was für alle anderen Objekte in Java auch gilt. Solange Du eine Referenz von dem Objekt hast kannst Du darauf zugreifen.
JDialog hat die Option ob modal oder nicht und kann im Konstruktor angegeben werden.
Mal 'ne Frage, hast Du zufälli gdie klasscihe Situation, in der Du von einer Listbox in die andere Elemente schieben willst? Falls dem so ist... so einen Dialog habe ich irgendwo, den brauchst Du dann nicht selbst erfinden.
 
Zuletzt bearbeitet:
Wieso sollte sich denn ein JDialog beim klick auf jeden Button schliessen?
Du kannst doch für jeden Button selbst bestimmen was bei einem Klick gemacht werden soll?
 
Erstmal danke für die Antworten.
Nein leider geht es nicht drum etwas von einer in die andere liste zu schieben. Man soll über eine Textbox Strings in eine Listbox einfügen und mit anderen buttons auch die reihenfolge ändern können.

Dass heißt also, das Hauptprogramm läuft erst wieder weiter nachdem das Dialogfenster explizit geschlossen wurde (also nach dem aufruf von setVisible(false); und dispose(); )
Ich dachte modal würde heissen dass es nach dem klick von irgendeinem button weiterläuft...
 
Zurück