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