ciao ragazzi, non riesco a visualizzare la griglia, ma dove è che sbaglio? potreste aiutarmi, riposto il codice con le modifiche fatte: vi prego aiutatemi.......

mille grazie.
codice:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;



//classe per la stampa del muro di mattoni utilizzando ArrayList
public class StampaMuro extends JFrame {
    //private Mattone mt;   
    private MyPanel mp;
    private int x;  //x e y mi indicano l'origine del mattone
    private int y;
    private int w=50;  //w e h le dimensioni, larghezza e altezza
    private int h=20;
    private GridLayout gl;
    
    
    public  StampaMuro(){        
        setSize(500,500);
        setLocation(200,200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gl=new GridLayout(7,6,2,2);      
        mp=new MyPanel();
        setContentPane(mp);
        setVisible(true);
        mp.repaint();        
        
    }
    
    class MyPanel extends JPanel{
        @Override
        public void paintComponent(Graphics g){   
            Graphics2D g2=(Graphics2D)g;
            g2.clearRect(0, 0, getWidth(), getHeight());            
            g2.setColor(Color.blue);               
            g2.fillRect(StampaMuro.this.x,StampaMuro.this.y ,StampaMuro.this.w ,StampaMuro.this.h );                
            setVisible(true);
            mp.repaint();
        }
    }
    
   
    
  public static void main(String[] args){
        new StampaMuro();

  }

       
               
   
}