Porque que label só é exibida se eu minimizar e depois maximizar a janela?

Olá, eu gostaria de esclarecer uma dúvida neste tópico que está me atormentando, eu possuo esse código:
`

package Objects;

import java.util.Random;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Passaro extends JFrame{
Random rdm = new Random();
boolean bo = false;
   
Passaro(){
 setTitle("Título");
 setVisible(true);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setLocationRelativeTo(null);
 setExtendedState(JFrame.MAXIMIZED_BOTH);
 
 add(retorna());
}
public JLabel retorna(){
 return new JLabel(new ImageIcon(getClass().getResource("/Assets/pássaro.gif")));
}
public static void main(String[]args){
 new Passaro();
}
}

`
E então a janela é criada, porém não aparece nada, mais se eu minimizar a janela e maximizar depois o gif aparece, alguém sabe porque acontece isso?

Descobri a solução :slightly_smiling: :
this.repaint();