/**
*Définitionducomportementdesclassesdessinables.
*
*@authorPeterDAEHNE,HEG‐Genève
*@version2.2
*/
publicinterfaceDessinable{
/*Définitiondupointduplan*/
voidsetPoint(intx,inty);
/*Définitiondelacouleur*/
voidsetCouleur(java.awt.Colorcouleur);
/*Dessindel'objet*/
voiddessine(java.awt.Graphicsg);
}//Dessinable
/**
*Figureconcrètedessinable:Cercledessinable.
*
*@authorPeterDAEHNE,HEG‐Genève
*@version2.2
*/
importjava.awt.*;
publicclassCercleDessinableextendsCercleimplementsDessinable{
privateColorcouleur;/*Couleur*/
privateintx,y;/*Origine*/
/*Constructeurs*/
publicCercleDessinable(){}
publicCercleDessinable(doubler){super(r);}
publicCercleDessinable(Colorc,doubler){this(r);setCouleur(c);}
publicCercleDessinable(intx,inty,doubler){this(r);setPoint(x,y);}
publicCercleDessinable(Colorc,intx,inty,doubler){this(x,y,r);setCouleur(c);}
/*InterfaceDessinable*/
publicvoidsetPoint(intx,inty){this.x=x;this.y=y;}
publicvoidsetCouleur(Colorcouleur){this.couleur=couleur;}
publicvoiddessine(Graphicsg){g.setColor(couleur);g.drawOval(x,y,(int)(rayon),(int)(rayon));}
}//CercleDessinable
/**
*Figureconcrètedessinable:Rectangledessinable.
*
*@authorPeterDAEHNE,HEG‐Genève
*@version2.2
*/
importjava.awt.*;
publicclassRectangleDessinableextendsRectangleimplementsDessinable{
privateColorcouleur;/*Couleur*/
privateintx,y;/*Origine*/
/*Constructeurs*/
publicRectangleDessinable(){}
publicRectangleDessinable(doublel,doubleh){super(l,h);}
publicRectangleDessinable(Colorc,doublel,doubleh){this(l,h);setCouleur(c);}
publicRectangleDessinable(intx,inty,doublel,doubleh){this(l,h);setPoint(x,y);}
publicRectangleDessinable(Colorc,intx,inty,doublel,doubleh){this(x,y,l,h);setCouleur(c);}
/*InterfaceDessinable*/
publicvoidsetPoint(intx,inty){this.x=x;this.y=y;}
publicvoidsetCouleur(Colorcouleur){this.couleur=couleur;}
publicvoiddessine(Graphicsg){g.setColor(couleur);g.drawRect(x,y,(int)(larg),(int)(haut));}
}//RectangleDessinable
/**
*Stringpersonnalisédessinable.
*
*@authorPeterDAEHNE,HEG‐Genève
*@version2.2
*/
importjava.awt.*;
publicclassMyStringDessinableextendsMyStringimplementsDessinable{
privateColorcouleur;/*Couleur*/
privateintx,y;/*Origine*/
/*Constructeurs*/
publicMyStringDessinable(){}
publicMyStringDessinable(Strings){super(s);}
publicMyStringDessinable(Colorc,Strings){this(s);setCouleur(c);}
publicMyStringDessinable(intx,inty,Strings){this(s);setPoint(x,y);}
publicMyStringDessinable(Colorc,intx,inty,Strings){this(x,y,s);setCouleur(c);}
/*InterfaceDessinable*/
publicvoidsetPoint(intx,inty){this.x=x;this.y=y;}
publicvoidsetCouleur(Colorcouleur){this.couleur=couleur;}
publicvoiddessine(Graphicsg){g.setColor(couleur);g.drawString(toString(),x,y);}
}//MyStringDessinable