Parlando (molto) in generale, quando si fanno modifiche ad un "container" (java.awt.Container) cioè aggiunta o rimozione di componenti (o altro) si deve fare poi un validate() sul container.