Java - PASAR VARIABLES DE JDIALOG A JFRAME

 
Vista:

PASAR VARIABLES DE JDIALOG A JFRAME

Publicado por Candy (36 intervenciones) el 10/12/2003 12:46:42
HOLA!

MI PROBLEMA ES QUE INVOCO UN JDIALOG DESDE UN JFRAME Y NECESITO CAPTURAR EL CONTENIDO DE UN JTEXTFIELD INTRODUCIDO EN EL JDIALOG PARA DESPUES DE CERRARLO UTILIZARLO EN EL JFRAME

¿COMO PUEDO HACERLO?

GRACIAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PASAR VARIABLES DE JDIALOG A JFRAME

Publicado por chuidiang (532 intervenciones) el 10/12/2003 15:10:31
Supongo que haces una clase que hereda del JDialog que es la que añade el JTextField y todo lo demas.
Ponle a esa clase un método
public String dameTexto()
que lea el texto del JTextField y lo devuelva.
En el JFrame debes añadir al JDialog un windowListener, que se entere de cuando se cierra la ventana y luego pedirle el texto a través del método.
Si dialogo es la ventana del JDialog, dentro del JFrame debes poner algo como esto (lo pongo de memoria, quizas los nombres de metodos y demás no sean exactos).

dialogo.addWindowListener (new WindowListener () {
public void windowClosing (WindowEvent e)
{
String texto = dialogo.dameTexto();
}
// Aqui hay que redefinir otros métodos del WindowListener.
});

Se buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PASAR VARIABLES DE JDIALOG A JFRAME

Publicado por CANDY (36 intervenciones) el 10/12/2003 16:42:08
Ya probé y me da el siguiente error al compilar ...

local variables is accessed from within inner class, needs to be declared final

Sabes que puede ser?
Te pongo el trozo de código que está involucrado ...

(EN EL JFRAME)

final String filename="c:/datos.txt";

VentanaGuardarFichero VentGuardarFichero = new VentanaGuardarFichero();
VentGuardarFichero.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
filename=VentGuardarFichero.dameTexto();
}
});

(EN EL JDIALOG)

public String dameTexto()
{
return(jTextField1.getText());
}

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PASAR VARIABLES DE JDIALOG A JFRAME

Publicado por Heihachi (31 intervenciones) el 11/12/2003 08:14:14
Puedes poner filename y VentanaGuardarFichero como variables globales y no tendrás ese problema.

Si el diálogo es modal no hace falta el windowListener:

Después de VentGuardarFichero.show() puedes poner filename=VentGuardarFichero.dameTexto() y no se ejecutará hasta que haya terminado el diálogo

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PASAR VARIABLES DE JDIALOG A JFRAME

Publicado por chuidiang (532 intervenciones) el 11/12/2003 09:24:12
Como te dice Heihachi, haz que filename sea un atributo de la clase y no una variable local.

Se buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar