Hola a todos. Tengo el siguiente problema:
Resulta que estoy haciendo una aplicación con bastantes formularios y cada panel es un cardLayout, de tal forma que en función de la opción que se elija en el menú, se irá a un panel o a otro.
El problema es que en uno de esos paneles no puedo eliminar los datos de las etiquetas, combos, etc. Es decir, yo elijo la opción del menú que me lleva a ese panel y hago lo que tenga que hacer. Esto hará que se ponga texto en las etiquetas, cambien las pripiedades de los botones, etc. Pues bien, hay veces que si sales de ese panel, vas a otro y luego vuelves, se deberían mantener los datos; pero otras veces debería de ser un panel nuevo, sin datos. Y no consigo que se eliminen los datos. Siempre me salen los datos de cuando modifiqué la 1ª vez el panel (antes de cambiar a otro panel y volver).
La verdad es que no lo entiendo porque cuando se tiene que resetear el panel llamo al constructor de la clase, por lo que todos los componentes se inicializan de nuevo.
Pongo un poco de código de las clases implicadas:
*****
Esta es la clase donde se inicializa el panel problemático:
public class EscuchadorMenuVerPlanificacion extends javax.swing.JFrame implements ActionListener,ItemListener,TableModelListener,Pro pertyChangeListener{
........declaración de variables
public EscuchadorMenuVerPlanificacion(){ ////inicialización de todas las variables}
//cuando se pulsa en el menú Ver --> Planificación se viene directamente a este punto y
//entraría en el primer "if"
public void actionPerformed(java.awt.event.ActionEvent ae){
if(ae.getSource() == CrearMenu.verPlanificacion){
verPlanificacionActionPerformed(ae);
ae.setSource(new Object());
}
else if(ae.getSource() == ......
else if(ae.getSource() == ......
}
//con este método reseteo el panel
public void resetearPanelPresupuesto(ActionEvent ae){
new EscuchadorMenuVerPlanificacion();
}
******
Esta es otra clase desde la que se llama al metodo reset para que resetee el panel anterior
******
new EscuchadorMenuVerPlanificacion().resetearPanelPres upuesto(ae);
**************************************
El funcionamiento es más o menos el siguiente: desde el menú me voy al panel de Planificación, hago las operaciones. Desde el menú nuevamente me voy a otra pantalla y hago lo que tenga que hacer; y ahora quiero volver al panel de planificación. Para ello voy nuevamente al menú y le doy a Ver planificación; entonces en vez de mostrarme el panel limpio me muestra los datos de la vez anterior.
¿Qué estoy haciendo mal?? Agradezco cualquier sugerencia porque me urge mucho.
Muchas gracias