Java Swing revalidate () vs repaint ()
Estoy armando una aplicación Swing donde a menudo quiero reemplazar el contenido de un JPanel. Para hacer esto, estoy llamandoremoveAll()
, luego agregando mi nuevo contenido, luego llamandorevalidate()
.
Sin embargo, estoy descubriendo que el contenido antiguo todavía es visible (aunque está oculto por el contenido nuevo). Si agrego una llamada arepaint()
además derevalidate()
, funciona como se espera.
Estoy seguro que en otras ocasiones he experimentado que solo llamandorevalidate()
es suficiente.
Básicamente, mi pregunta es: ¿debo llamar a ambas funciones y, de no ser así, cuándo debo llamar a cada una de ellas?