[Java] - Abrir y Cerrar Ventanas..

Tengo un proyecto en la escuela que hacer y necesito impresionar a mi maestro para una calificación de 100.
Estoy creando un programa en base ventanas con JFrame
El cual inicia así..
Desde mi archivo Programa.java inicializo MiMenu.java (que es una clase)
Entonces empieza y me aparece solamente una barra de menu: (en ella tengo)
Archivo - Editar - Consultar
Dentro de archivo tengo:
- Agregar Alumno
- Salir
Cuando doy click Agregar Alumno.. Se crea una acción desde una clase (AccionAgregar.java) (de igual manera una clase) y esta acción manda hablar a VentanaAlumno.java (que de igual manera es otra clase)
Entonces aparece mi ventana de Alumno, que es también un JFRAME, pero quiero que cuando se habrá esta ventana.. La ventana MiMenu, se cierre o al menos no le pueda picar a nada a esa ventana..
Anteriormente utilice JDialog, para hacerla 'padre' pero de tanto investigar entendí que dentro de un JDialog, no podía introducir JTEXTFIELD o JBUTTON.
Así que si me podrían ayudar

1 Respuesta

Respuesta
1
Lo que necesitas es pasar por parámetro al constructor del JFrame de Alumno el JFrame MiMenu, de tal manera que en el constructor harás que MiMenu deje de ser visible "menu.setVisible(false)" y añadir un evento para cuando la ventana se cierre de tal manera que MiMenu se vuelva visible tal que así:
alumnoFrame.addWindowListener(new WindowAdapter(){
<span style="white-space: pre;"> </span>public void windowClosing(WindowEvent e){
<span style="white-space: pre;"> </span>menu.setVisible(true);
<span style="white-space: pre;"> </span>}
});
Para que esto te funcione "menu" tiene que ser un atributo de clase (o variable global), o declararla como una constante con el atributo "final" delcarandolo en el constructor como algo así:
public AlumnoVentana(final JFrame menu, (otras propiedades){
.. codigo aqui...
}
Así hagas lo que hagas para cerrar la ventana, en cuanto se cierre, se abrirá MiMenu. De la misma forma si necesitas pasar datos a MiMenu, puedes hacerlo de ésta manera, pasando la variable y llamando al método que necesites para pasarle el valor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas