Довольно интересно, что я сталкиваюсь с той же проблемой, и я удивлен, что люди голосуют против другого ответа, поскольку он явно задает вопрос о динамически созданных Компонентах, а не компонентах, уже созданных под именем переменной, которое можно получить.вместо анонимно созданных объектов.
Ответ довольно прост.Используйте getComponents () для перебора массива компонентов, добавленных в JPanel.Найдите тип компонента, который вы хотите удалить, например, используя instanceof .В моем примере я удаляю все JCheckBoxes, добавленные в мою JPanel.
Обязательно выполните повторную проверку и перерисовку панели, в противном случае изменения не появятся
Компонент взят из java.awt.Component.
//Get the components in the panel
Component[] componentList = panelName.getComponents();
//Loop through the components
for(Component c : componentList){
//Find the components you want to remove
if(c instanceof JCheckBox){
//Remove it
clientPanel.remove(c);
}
}
//IMPORTANT
panelName.revalidate();
panelName.repaint();