JPanel no se actualiza hasta que cambia el tamaño de Jframe

Subclasifico JPanel para sobrescribir paintComponent (Gráficos), quiero dibujar una imagen en jpanel en un jframe.

Pero mi imagen no se muestra hasta que hago un cambio al tamaño de jframe. Este es mi código:

public class ImagePanel extends JPanel{

    public void setImage(BufferedImage bi)
    {
        image = bi;
        revalidate();
    }

    @Override
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        if(image != null)
        {
            g.drawImage(image, 0, 0, this);
        }
    }
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta