это не ответ на вопрос OP хороший пример , проблема OP, возможно, в LayoutManager и что-то неизвестное в коде OP
1 /, если вы добавляете новый JComponent в контейнер, тоВы должны позвонить
validate();
repaint(); //lay with LayoutManager required that
2 /, если удаляет, а затем добавляет JComponents из / в Контейнер, тогда вы должны позвонить
revalidate();
repaint(); // lay with LayoutManager required that
3 / выглядит так же, как повторная проверка покрыта, проверьте также