Можно ли разработать немного больше на точно, что Вы пытаетесь выполнить с этим запросом?
Также смотрят на в: опция соединений для находки. Это позволяет Вам определять, как Вы хотите таблицы, к которым присоединяются. текст ссылки
И остерегаются при использовании: включайте, поведение изменяется немного в направляющих 2.1 и может вызвать некоторые проблемы, когда используется в сочетании с a: опция условий, которая ссылается на включенную таблицу. текст ссылки и текст ссылки является двумя статьями от Основных, которые упоминают этот глюк.
Вам необходимо вызвать repaint ()
и revalidate ()
. Первый сообщает Swing, что часть окна загрязнена (что необходимо для стирания изображения старых дочерних элементов, удаленных с помощью removeAll ()
); последний указывает менеджеру компоновки пересчитать компоновку (что необходимо при добавлении компонентов). Это должно вызвать перерисовку дочерних элементов панели, но не может заставить панель делать это (см. this для списка триггеров перерисовки).
В более общем плане примечание: вместо повторного использования исходной панели я бы рекомендовал создать новую панель и поменять их местами на родительской.
revalidate
вызывается в контейнере после добавления новых компонентов или удаления старых. этот вызов является инструкцией диспетчеру компоновки о необходимости сброса на основе нового списка компонентов. revalidate
инициирует вызов для перерисовки того, что компонент считает «грязными областями». Очевидно, что не все области вашей JPanel
считаются грязными RepaintManager
.
repaint
используется для указания компоненту перерисовать себя.
Каждый раз, когда вы выполняете remove () или removeAll (), вы должны вызывать
validate();
repaint();
после завершения добавления () новых компонентов.
Вызов validate () или revalidate () является обязательным при выполнении remove () - см. Соответствующие javadocs.
Мое собственное тестирование показывает, что repaint () также необходим. Не знаю, почему.