Estoy armando una aplicación Swing donde a menudo quiero reemplazar el contenido de un JPanel. Para hacer esto, llamo removeAll()
, luego agrego mi nuevo contenido, luego llamo revalidate()
.
Sin embargo, estoy descubriendo que el contenido anterior todavía es realmente visible (aunque oscurecido por el contenido nuevo). Si agrego una llamada repaint()
además de revalidate()
, funciona como se esperaba.
Estoy seguro de que en otras ocasiones he experimentado que solo llamar revalidate()
es suficiente.
Básicamente, mi pregunta es: ¿debería tener que llamar a ambas funciones y, si no, cuándo debo llamar a cada una de ellas?