codice:
	  import java.awt.*;  
    import javax.swing.*;  
    
    public class PannelliSovrapposti {  
        
        //colori RGB
        //g.setColor(myBlue);   g.fillRect(0, 0,350,50);    g.drawRect(0, 0,350,50);
        Color myRosso = new Color(255, 0, 0); // Color red
        Color myRossoSpento = new Color(130, 0, 0); // Color red
        Color myBlu = new Color(10, 10, 255); // Color blu
        Color myyollow = new Color(255,255, 0); // Color giallo
        Color myGiallo = new Color(250,250, 0); // Color giallo
        Color myGialloSpento = new Color(100,100, 0); // Color giallo
        Color myVerde = new Color(0,250,0); // Color verde
        Color myVerdeSpento = new Color(0,100,0); // Color verde
        
        JFrame f= new JFrame("Pannnello esempio con due pannelli");    
        JPanel panel=new JPanel();  
  
      
        
        public class panel extends JPanel
        {
        /**
             * 
             */
            private static final long serialVersionUID = 1L;
        public void paintComponent(Graphics g)
        {
        super.paintComponent(g);
                         g.setColor(Color.black);
                         g.drawOval(0, 0, 20, 30);
                    
                         // per vedere dove sono i pannelli
                         g.setColor(Color.BLACK);
                         g.fillRect(50,100,80,30);   
                         g.setColor(Color.WHITE);
                             g.fillRect(240,100,80,30); 
                         
                         g.setColor(Color.red);
                         g.setFont(new Font(g.getFont().getFontName(),Font.PLAIN,40) );
                         g.drawString("scrive qualcosa",0,0);
                         System.out.println("scrive qualcosa nella consolle");
                    
        }
        }               
                
        
     public PannelliSovrapposti()  
            {  
         
           JPanel panel2=new JPanel();
       //  panel.setBounds(40,20,200,200);  
         panel2.setBounds(0,0,200,200); // a fianco 260,20,200,200
         panel2.setBackground(Color.green); 
         Label l2 = new Label("panel2");
         JButton b2=new JButton("Pulsante");   
         b2.setBounds(50,50,80,30);  
         panel.setBounds(40, 20, 200, 200); //posizione del rettangolo
         b2.setBackground(Color.orange);   
         panel2.add(l2);
         panel2.add(b2);  
         f.add(panel2); // sotto
    //   f.setSize(800,400);    
         panel2.setOpaque(true);
         panel.setBackground(Color.pink);
         JButton b1=new JButton("Buttone");  
         Label l = new Label("panel");
         b1.setBounds(50,50,80,30);    
         b1.setBackground(Color.yellow); 
         panel.setBounds(40, 20, 200, 200); //posizione del rettangolo
         panel.add(l); 
         panel.add(b1); 
         f.add(panel); 
         f.add(panel2); // sotto
   
         panel.setOpaque(true);
         f.setVisible(true);    // con true si vede il colore
         f.setExtendedState(JFrame.MAXIMIZED_BOTH); //Jframe a schermo intero
  // f.setLayout(null);   //   con  si vede il 2 pannello sotto
    
         
            }     
   
     public class panel2 extends JPanel {
         /**
         * 
         */
        private static final long serialVersionUID = 1L;
        public void paintComponent(Graphics g){
         super.paintComponent(g);
         g.setColor(Color.red);
         g.fillRect(10,10, 100,80);
         g.setColor(Color.blue);
         g.drawRect(30,30, 80,60);
         g.setColor(Color.black);
         g.drawString("ciao",50,60);
         }
         }
         
            public static void main(String args[])  
            {  
            new PannelliSovrapposti();  
            }  
        }