Как мне поставить графику на JPanel?

У меня проблема с добавлением графики в JPanel. Если я изменю строку из panel.add (new graphics ()); to frame.add (новая графика ()); и не добавляйте JPanel в JFrame, черный прямоугольник появляется на JFrame. Я просто не могу заставить черный прямоугольник появляться в JPannel, и мне было интересно, может ли кто-нибудь помочь мне с этим.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

 public class Catch{

public class graphics extends JComponent{
    public void paintComponent(Graphics g){
    super.paintComponents(g);
    g.fillRect(200, 62, 30, 10);
    }
}

 public void createGUI(){
    final JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    frame.setSize(500,500);
    frame.addMouseListener(new MouseAdapter(){
        public void mouseClicked(MouseEvent e) {
            System.out.println(e.getPoint().getX());
            System.out.println(e.getPoint().getY());
        }
     });
    panel.add(new graphics());
    frame.add(panel);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(frame.DISPOSE_ON_CLOSE); 
}

public static void main(String[] args){
    Catch GUI= new Catch();
    GUI.createGUI();
   }
}