O JPanel não atualiza até redimensionar Jframe

Eu subclasse JPanel para sobrescrever paintComponent (Graphics), eu quero desenhar uma imagem no jpanel em um jframe.

Mas minha imagem não apareceu até eu fazer uma alteração no tamanho do jframe. Este é o meu 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);
        }
    }
}

questionAnswers(5)

yourAnswerToTheQuestion