Lo normal es crear el panel, pero no meterlo en la ventana. Cuando pulses el botón, lo añades a la ventana y llamas al método updateUI().
Si usas un layout null, entoces puedes añadir el panel cuando quieras y ocultarlo o visualizarlo llamando a su metodo setVisible(true/false). Pero en este caso debes encargarte tú de dar posición y tamaño al panel.