Как удалить конкретный элемент из JPanel с помощью Borderlayout/Grouplayout?
-
26-10-2019 - |
Вопрос
Мне нужно удалить Component
в Center
принадлежащий JPanel
, но после некоторых попыток не преобладать.
Я попробовал метод здесь:
Удаление центрального элемента из JPanel с использованием Borderlayout
Но метод ответа создает ошибку времени компиляции:
Type mismatch: cannot convert from LayoutManager to BorderLayout
Я не неправильно интерпретирую ответ?
Кроме того, мне также любопытно, смогу ли я обновить только один компонент из GrouPlayout. Кто -нибудь может сказать мне, как это сделать?
Изменить: @mre: вот код:
BorderLayout layout = panel.getLayout();
panel.remove(layout.getLayoutComponent(BorderLayout.CENTER));
Который в основном такой же, как в ссылке.
Спасибо вам всем!
Решение
Вы должны сбить менеджера макета до Borderlayout:
BorderLayout layout = (BorderLayout) panel.getLayout();
Но если вы знаете, какой компонент находится в центре, вы можете просто удалить его:
panel.add(myComponent, BorderLayout.CENTER);
...
panel.remove(myComponent);
Не связан с StackOverflow