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