ventanas desabilitadas(setEnabled)

locojava2005
29 de Julio del 2005
hola...tengo un problema..
tengo una ventana, la cual llama otra ventana, se supone que la primera debe quedar desabilitada (setEnabled(false))...luego cuando cierro la segunda ventana, la primera debe recuperar EL FOCO!!!...como lo hago?...
e usado unos eventos de ventanas.....WindowsGinesFocus, y el WindowLostFocus...para ambas ventanas!!!! no se si estoy haciendo bien!!! espero respuesta gracias.

chuidiang
29 de Julio del 2005
Hola:

Una forma de hacer esto es con ventanas modales.
Imagina que tienes la primera ventana, que es la principal del programa. Normalmente heredará o será un JFrame.
Las demás ventanas deberían ser o heredar de JDialog. JDialog en uno de sus constructores admite una ventana padre y un flag para indicar si es modal. Puedes ponerle como padre el JFrame y el flag de modal a true.
Con esto consigues dos cosas:
El JDialog siempre estará encima del JFrame, no se puede ir detrás.
Mientras el JDialog esté abierto, no se puede tocar el JFrame.
Teóricamente, al cerrar el JDialog, el JFrame debería recuperar el foco.

Otra cosa, para recuperar el foco, todos los componentes java tienen el método requestFocus(). Ese es el que deberías usar.

Se bueno.