JMenu CardLayout

Tengo 2 aplicaciones swing, son independientes entre si pero quieros unirlas en una ventana (JFrame) con un menu. Que cuando se seleccione un item se muestre un programa, y cuando se seleccione el otro item se muestre el otro programa. Los programas son JPanel. Lo he intentado metiendo los dos programas (JPanel) en un Cardlayout y me funciona pero el problema es que necesito que se resetee los valores de los programas. Por ejemplo que si tengo en un JPanle una caja de texto cuando se oculte y vuelva a aparecer quiero que salga vacía y se resetee todas las variables de ese programa. ¿Cómo lo puedo hacer?

1 respuesta

Respuesta
1
Habrás implementado cada una de tus aplicaciones como una clase que hereda de JPanel, cada vez que cambias el Cardlayout activo automáticamente se llama al método repaint que hereda JPanel de Component. Desde mi punto de vista lo más sencillo es reescribir el método repain de ambas aplicaciones, de manera que en primer lugar realize las operaciones pertinentes (mediante una llamada a super) y en segundo lugar reinicie los valores de tus aplicaciones, un ejempleo podrías ser
public void repaint()
{
super();
//suponiento que txt es un
//textfield de tu
//aplicacion
txt.setText("");
//resto de inicializaciones
}
De esta forma podrías inicializar los valores de los campos sin ningún problemas, aunque el método repaint debe ser especifico para cada una de las dos aplicaciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas