Ciao ragazzi,
ho creato una JDialog con un campo JTextField e i JButton OK e Annulla. Vorrei che una volta che premo "ok" la JDialog mi dia come valore di ritorno String, il valore del campo JTextField mentre se premo "annulla" mi deve ritornare la String "CANCEL".
Come è possibile fare?
Non si possono usare sempre le finestre di JOptionPane!!! 
questo è il codice provvisorio
codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class finestra extends JDialog implements ActionListener {
JDialog finestra = new JDialog();
private void creaJDialog() {
finestra.setBounds(180,250,1000,300);
finestra.setTitle("Comando SQL");
ok = new JButton("OK");
ok.addActionListener(this);
cancel = new JButton("ANNULLA");
cancel.addActionListener(this);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
JLabel testo = new JLabel("Inserisci il comando:");
testo.setFont(new Font("Times",Font.BOLD,13));
p.add("North", testo);
JPanel p1 = new JPanel();
comando = new JTextField(80);
comando.setFont(new Font("Times", Font.BOLD,14));
p1.add(comando);
p.add("Center",p1);
JPanel p2 = new JPanel();
p2.setLayout(new FlowLayout());
p2.add(ok);
p2.add(cancel);
p.add("South",p2);
finestra.add(p);
finestra.setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == ok)
estraiComando();
finestra.dispose();
if (ae.getSource() == cancel)
annulla();
finestra.dispose();
}
private String estraiComando() {
String cmd = comando.getText();
if (cmd.equals(""))
cmd = "CANCEL";
return cmd;
}
private String annulla() {
return "CANCEL";
}
private JButton ok,cancel;
JTextField comando;
public static void main(String[] arg) {
finestra f = new finestra();
f.creaJDialog();
}
}
grazie per l'aiuto.