Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/03/2009, 12:46
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: ¿JFrame puede devolver variable?

Hola:

No puede devolver un valor, pero sí se lo puedes pedir.

El JFrame padre debe añadir un addWindowListener() al JFrame hijo. El JFrame hijo puede tener un método getValor() que devuelva el valor deseado. Cuando el JFrame padre detecte que el JFrame hijo se ha cerrado (gracias al addWindowListener), puede pedirle dicho valor.

De todas formas, esta no es la forma correcta de hacerlo. Lo primero que debes intentar probar es usar un JOptionPane en vez de un JFrame hijo. El JOptionPane es una ventana pensada precisamente para eso, para pedir un dato y devolverlo.

Si no puedes hacerlo con un JOptionPane, puedes hacerlo con un JDialog modal. Al ser el JDialog modal, el código que lo visualiza se queda bloqueado hasta que el JDialog se oculte, por lo que podrías inmediatamente después pedirle el dato

dialogoModal.setVisible(true); // Esto se queda bloqueado hasta que se oculte el dialogo.
String valorDevuelto = dialogoModal.getValor();

En cualquier caso, una aplicación sólo debería tener un JFrame, el resto deben ser JDialogs.

Se bueno.
__________________
Apuntes Java
Wiki de Programación