Il punto è che forse non hai ancora compreso il concetto in generale: quindi lo esprimo appunto in modo abbastanza generico. Se in un contenitore già visibile vuoi aggiungere/rimuovere dei componenti, puoi farlo tranquillamente usando i vari add/remove sul contenitore. Il problema non è tanto questo ma se il contenitore usa o no un layout manager.
Se usa un layout manager, il layout va rivalidato e in genere basta un validate() invocato sul contenitore. Questo perlomeno vale per tutti i layout manager più semplici (es. BorderLayout, FlowLayout ecc...).
Se non usa un layout manager, chiaramente dovrai posizionare/dimensionare esplicitamente i nuovi componenti e oltre a questo basta un repaint() invocato sul contenitore.
Ti è più chiaro?