Como borrar el contenido de un Jframe y poner otro nuevo

ditron77
17 de Enero del 2010
Buenas, tengo una clase k implements de Jframe a la que le añado un desktop con InternalFrames y lo muestro por pantalla, pero en determinado momento del programa quiero mosotrar un desktop nuevo con InternalFrames nuevos, que dberia hacer para k el Jframe se vacie y luego pinte de nuevo?

public void imprimir2(){ /** Con MiniPaneles **/ /** Imprime todas las Multifichas que contiene, usamos el Jframe del que se extiende el ConjuntoMultifichas **/

int max=ListaMultifichas.size(); /** El número de MultiFichas que contiene el DatosConsulta **/
JDesktopPane desktop= new JDesktopPane(); /** Frame principal donde estarán los dinstintos paneles **/
getContentPane().add(desktop);

for(int i=0; i<max; i++ )
{
MultiFicha miAlumno= ListaMultifichas.get(i);
/** El usuario puede redimensionar,cerrar, max/minimizar la ventana**/
JInternalFrame ventana_interna=new JInternalFrame(miAlumno.getapellidos(),true, true,true,true);
miAlumno.imprime();
ventana_interna.add(miAlumno.devuelvePanel());
/** Es importante darle tamaño -pack()- al JInternalFrame,
// porque si no, tendrá tamaño 0,0 y no lo veremos.**/

ventana_interna.setLocation(i*40, i*10);
ventana_interna.pack();

/** Por defecto el JInternalFrame no es redimensionable ni
tiene el botón de cerrar, así que se lo ponemos. **/
ventana_interna.setResizable(true);
ventana_interna.setClosable(true);
ventana_interna.setVisible(true);
/** Nos devuelve el JScrollPanel del alumno **/
desktop.add(ventana_interna);

}

setSize(1000, 1000);
setVisible( true );
}

El problema esque al llamar de nuevo a al función es como si tuviera guardada informacion y los paneles me salen muy cambiados, habia pensado en usar un JFrame auxiliar y al final de la llamada a al función copiarlo sobre el Jframe de la clase ConjuntoMultificha k implements Jframe, pero nose como hacerlo.

Espero k puedan ayudarme, un saludo y gracias