¿Cómo coloco gráficos en un JPanel?

Estoy teniendo problemas para agregar gráficos a un JPanel. Si cambio la línea de panel.add (nuevos gráficos ()); a frame.add (nuevos gráficos ()); y no agregue el JPanel al JFrame, el rectángulo negro aparece en el JFrame. Simplemente no puedo conseguir que el rectángulo negro aparezca en el JPannel y me preguntaba si alguien podría ayudarme con esto.

<code>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();
   }
}
</code>

Respuestas a la pregunta(2)

Su respuesta a la pregunta