Я получил это, чтобы работать без проблем индекса z методом проб и ошибок.
Давайте назовем x JPanel
с BorderLayout
давайте назовем y Component
, который в настоящее время занимает BorderLayout.Center
давайте назовем z JPanel
для замены в центральном положении.
x.remove(y);
x.add(z);
x.repaint();
x.revalidate();
Я обнаружил, что если я попытался удалить существующий JPanel через сам LayoutManager, он не работает. Вместо этого, если вы используете метод удаления JPanel, документ Java говорит, что уведомляет макеты метод removeLayoutComponent и, похоже, делает свое дело.