Всякий раз, когда я удаляю и добавляю компоненты свинга из, скажем, JPanel, я буду выполнять вызов для подтверждения или повторной проверки?
revalidate () будет лучше. revalidate () помечает весь контейнер до верхнего уровня как неправильный или недействительный. Затем он вызывает validate () на верхнем уровне. Метод validate () родительского объекта проверяет, является ли хотя бы один из его ближайших потомков сигнальным, недействительным или неподходящим. это вызывает проверку родителя. поэтому вызов revalidate () автоматически означает вызов validate ().
По крайней мере, в Java 7, revalidate() не обязательно «стирает» удаленные компоненты с экрана. Я полагаю, что это происходит, когда ограничивающий прямоугольник сжимается. В этих случаях звоните repaint() после revalidate().
revalidate()
repaint()
revalidate() - это в основном invalidate(), за которым следует validate().
invalidate()
validate()
Посмотрите на исходный код Sun для Java.
Вы хотите позвонить revalidate().
Я бы подумал, что revalidate () - это то, что вы хотите. Метод validate () будет автоматически вызван для вас после вызова revalidate (). См. Java API для JComponent.revalidate () .