Una forma muy sencilla sería cambiado el rootPanede un JFrame.
Es decir, los componentes que ves dibujados en un JFrame, realmente estan contenidos dentro de un panel interno (rootPane).
Lo que puedes hacer es tener distintos JPanel con la disposición de controles que desees e ir intercambiándolos según lo necesites.
Ejemplo:
Código Java:
Ver original
.
.
.
ventana.setContentPane(panel1);
//Cambio al panel2
ventana.setContentPane(panel2);
Los JPanel puede contener cualquier componente (botones, listas, textbox, ...) incluidos JPanel.
Espero que te sirva y para cualquier duda estamos aquí.