dopo essermi schiarito un pò le idee e letto qualcosa in internet riguardo Swing Awg sono arrivato a questo punto:

Prima classe:
codice:
import java.awt.*;
import javax.swing.*;

public class Disegno extends JPanel{

	private int posX;
	private int posY;
	private static final int lato=30;
	Color colore;
	
	public Disegno(int x,int y, Color c){
		posX=x;
		posY=y;
		colore=c;
	}
	
	public void paint(Graphics g){
		Graphics2D g2=(Graphics2D)g;
		Rectangle p=new Rectangle(posX+1,posY+1,lato-2,lato-2);
		Rectangle borP=new Rectangle(posX,posY,lato,lato);
		g2.draw(borP);
		g2.setColor(colore);
		g2.fill(p);
		g2.draw(p);
		g2.setColor(Color.BLACK);
	}//paint
	
	public int getLato(){
		return lato;
	}//getLato

}//Disegno
Seconda
codice:
import javax.swing.*;
import java.awt.*;

public class Applet extends JApplet { 
	public void init() {
		
	}
	
	public void paint(){
		Container contentPane = getContentPane(); 
		Disegno pol = new Disegno(10,20,Color.RED);
		contentPane.add(pol);
		Disegno pol2 = new Disegno(10,40,Color.RED);
		contentPane.add(pol2);
	}

}
Ora le mie domande sono:
-perché così com'è Applet non mi disegna bensì devo richiamare paint() dentro init()? Da quanto ho capito dovrebbe farlo da solo;
-perchè vedo disegnato solo pol2 e mi cancella ciò che è già esistente?

Grazie