JPanels are by default double buffered. I'm unclear where the flickering takes place...which is where posting an SSCCE would help demonstrate what exactly you are doing (often but not always...