Я собираю приложение Swing, где я часто хочу заменить содержимое JPanel. Для этого я звоню removeAll()
, затем добавляю новый контент, затем звоню revalidate()
.
Однако я обнаружил, что старый контент все еще действительно виден (хотя и скрыт новым). Если я добавлю вызов repaint()
в дополнение к revalidate()
, он работает как ожидалось.
Я уверен, что в других случаях я чувствовал, что revalidate()
достаточно просто позвонить .
Итак, в основном мой вопрос - мне нужно вызывать обе функции, а если нет, то когда мне следует вызывать каждую из них?