Przygotowuję aplikację Swing, w której często chcę zastąpić zawartość JPanel. Aby to zrobić, dzwonię removeAll()
, a następnie dodaję nową treść, a następnie dzwonię revalidate()
.
Jednak stwierdzam, że stara treść jest nadal faktycznie widoczna (choć zasłonięta przez nową treść). Jeśli dodam połączenie repaint()
do revalidate()
, działa to zgodnie z oczekiwaniami.
Jestem pewien, że przy innych okazjach doświadczyłem, że wystarczy zadzwonić revalidate()
.
Więc w zasadzie moje pytanie brzmi - czy powinienem wywoływać obie funkcje, a jeśli nie, to kiedy mam wywoływać każdą z nich?