Как удалить конкретный элемент из JPanel с помощью Borderlayout/Grouplayout?

StackOverflow https://stackoverflow.com/questions/6307546

Вопрос

Мне нужно удалить 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top