При динамической вставке/удалении контролов из панели Jpanel она не перерисовывается автоматически. После окончания всех обновлений нужно вызвать два метода:
Сначала JPanel.validate() – для перерасчета положения новых контролов
Затем JPanel.repaint() – для перерисовки контрола.