Java Double Buffering JPanel
public void paint(Graphics g){
Image imm = createImage(this.getWidth() - getInsets().left, this.getHeight() getInsets().top);
Graphics gImm = imm.getGraphics();
//DRAW ON gImm
g.drawImage(imm, getInsets().left, getInsets().top, this);
}