I'm putting together a Swing application where I often want to replace the contents of a JPanel. To do this, I'm calling removeAll()
, then adding my new content, then calling revalidate()
.
However I'm finding that the old content is still actually visible (though obscured by the the new content). If I add a call to repaint()
in addition to revalidate()
, it works as expected.
I'm sure on other occasions I've experienced that just calling revalidate()
is enough.
So basically my question is - should I need to call both functions and if not, when should I call each of them?