Da un'altra classe invoco il metodo metodo()
Il problema è che in paintsComponents del pannello non riesco a disegnare niente, non ho eccezioni, semplicemente non accade niente

Non riesco a capire perchè


codice:
public class Dialog1 extends JDialog {
    
    
    
    
    
    public Dialog1(Frame owner, String title, boolean modal) 
   {
        super(owner, title, modal);
   }

    public Dialog1() {
        this(new Frame(), "Dialog1", false);
       
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout(null);
    }

    

    public void metodo()
    {
        show();
        Pannello p = new Pannello();
        
        getContentPane().add(p);
        
    }
    
    private class Pannello extends JPanel
    {
        Image i;
        
        public Pannello()
        {
            super();
            setSize(150,150);
            
            i = Toolkit.getDefaultToolkit().getImage("a.gif");
        }
        
        public void paintComponents(Graphics g)
        {
          super.paintComponents(g);
          

          //g.drawImage(i,100,100,null);
          g.fillOval(20,20,20,20);
          
          

        }

    }
}