/** * Définition du comportement des classes dessinables

/**
*Définitionducomportementdesclassesdessinables.
*
*@authorPeterDAEHNE,HEGGenè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,HEGGenè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,HEGGenè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,HEGGenè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
/**
*Appletreprésentantdesclassesdessinables.
*
*@authorPeterDAEHNE,HEGGenève
*@version2.2
*/
publicclassDessinextendsjava.applet.Applet{
privateDessinable[]dessins=newDessinable[7];/*Dessinableestune"interface"*/
/*Méthodeappeléeàl'initialisationdel'Applet*/
publicvoidinit(){
dessins[0]=newCercleDessinable(java.awt.Color.red,100,100,60.0);
dessins[1]=newRectangleDessinable(java.awt.Color.blue,200,200,100.0,50.0);
dessins[2]=newCercleDessinable(java.awt.Color.green,120,100,70.0);
dessins[3]=newCercleDessinable(java.awt.Color.yellow,140,100,80.0);
dessins[4]=newMyStringDessinable(java.awt.Color.red,50,50,"HelloWorld!");
dessins[5]=newRectangleDessinable(java.awt.Color.cyan,250,260,40.0,120.0);
dessins[6]=newMyStringDessinable(java.awt.Color.black,260,420,"Autrestring.");
}//init
/*Méthodeeffectuanteffectivementl'affichage*/
publicvoidpaint(java.awt.Graphicsg){
for(inti=0;i<dessins.length;i++){dessins[i].dessine(g);}
}//paint
}//Dessin
/**
*ClasseprincipalecalculantavecdesDessinables:
*‐créationd'untableaudeclassesdessinables(lesmêmesquedansDessin.java)
*‐calculdel'airetotaledesFigures
*‐calculdelasommedespérimètresdesFigures
*‐calculedelasommedeslongueursdesMyStrings
*‐affichagedesrésultats
*
*@authorPeterDAEHNE,HEGGenève
*@version2.2
*/
publicclassCalculs{
publicstaticvoidmain(String[]args){
Dessinable[]dessins=newDessinable[7];/*Dessinableestune"interface"*/
dessins[0]=newCercleDessinable(java.awt.Color.red,100,100,60.0);
dessins[1]=newRectangleDessinable(java.awt.Color.blue,200,200,100.0,50.0);
dessins[2]=newCercleDessinable(java.awt.Color.green,120,100,70.0);
dessins[3]=newCercleDessinable(java.awt.Color.yellow,140,100,80.0);
dessins[4]=newMyStringDessinable(java.awt.Color.red,50,50,"HelloWorld!");
dessins[5]=newRectangleDessinable(java.awt.Color.cyan,250,260,40.0,120.0);
dessins[6]=newMyStringDessinable(java.awt.Color.black,260,420,"Autrestring.");
doublesommeAire=0.0;/*Calculs*/
doublesommePeri=0.0;
intsommeLong=0;
for(inti=0;i<dessins.length;i++){
if(dessins[i]instanceofFigure){
sommeAire+=((Figure)dessins[i]).aire();
sommePeri+=((Figure)dessins[i]).perimetre();
}else{
sommeLong+=((MyString)dessins[i]).length();
}
}
System.out.println("INTERFACE");
System.out.println("Lasommedesairesdesfiguresestde"+sommeAire);
System.out.println("Lasommedespérimètresdesfiguresestde"+sommePeri);
System.out.println("Lasommedeslongueursdeschaînesestde"+sommeLong);
}//main
}//Calculs
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !