returnere værdier fra en JDialog
Som det fremgår af http://www.eksperten.dk/spm/878974#reply_7408123, er jeg i Groovy (som er An agile dynamic language for the Java Platform, og som i det store og hele er som Java) ved at lave en pop-up dialog med nogle textFields, der skal fodres med startværdier. Hovedprogrammet skal så vente til der klikkes på OK (eller Cancel), hvorefter det går videre med de evt. nye værdier i textFields'ne.Og jeg er nået frem til noget i denne retning:
...
class MyDialog extends JDialog implements ActionListener {
...
/* constructor */
public TaskDialog(param1, ... ) {
...
setModal (true)
def input1Field = new TextField ( param1);
input1Field (...);
add( input1Field );
def input2Field = new TextField ( param1);
...
def okButton = new Button( "OK");
...
def cancelButton = new Button( "Cancel");
cancelButton.setBounds (...);
add( cancelButton );
cancelButton.addActionListener( this )
}
public void actionPerformed ( ActionEvent event ) {
String label = event.getActionCommand();
if (label.equals("OK")) {
//gør noget afsluttende
setModal(false)
dispose();
} else {
setModal(false)
dispose();
}
}
}
...
def frame = new MyDialog()
...
Og jeg kan finde masser eksempler på, hvordan man laver dialoger med listeners o.s.v. på Internet, men de viser alle, hvordan man ændrer noget i selvet dialogen. Så ...
Mit spørgsmål:
Hvordan returnerer jeg værdierne fra textFields'ne til det kaldende program, når der trykkes på OK?
Det skal lige nævnes, at jeg bestemt ikke er nogen haj til hverken Java eller OOP i det hele taget (men det kan den opmærksomme læser måske også godt se af min kodestil).
Venlig hilsen
Christian
