TP-programmation-orientee-o.../TP06/ExempleSchemaGroupe.java
2023-06-20 21:02:09 +02:00

69 lines
1.7 KiB
Java

import afficheur.Ecran;
/** Construire le schéma proposé dans le sujet de TP avec des points,
* des points nommés
* et des segments.
*
* @author Xavier Crégut
* @version $Revision: 1.7$
*/
public class ExempleSchemaGroupe {
/** Construire le schéma et le manipuler.
* Le schéma est affiché.
* Ensuite, il est translaté et affiché de nouveau.
* @param args les arguments de la ligne de commande
*/
public static void main(String[] args)
{
// Créer les trois segments
Point p1 = new PointNomme(3, 2, "A");
Point p2 = new PointNomme(6, 9, "S");
Point p3 = new Point(11, 4);
Segment s12 = new Segment(p1, p2);
Segment s23 = new Segment(p2, p3);
Segment s31 = new Segment(p3, p1);
// Créer le barycentre
double sx = p1.getX() + p2.getX() + p3.getX();
double sy = p1.getY() + p2.getY() + p3.getY();
Point barycentre = new PointNomme(sx / 3, sy / 3, "C");
// Définir le schéma (vide)
// Geometrique[] schema = new Geometrique[10]; // le schéma
// 10 : capacité suffisante ici, non contrôlée dans la suite.
//int nb = 0; // Le nombre d'éléments dans le schéma
Groupe liste = new Groupe();
// Peupler le schéma
liste.ajouter(s12);
liste.ajouter(s23);
liste.ajouter(s31);
liste.ajouter(barycentre);
// Afficher le schéma
liste.afficher();
// Créer l'écran d'affichage
Ecran ecran = new Ecran("ExempleSchemaTab", 600, 400, 20);
ecran.dessinerAxes();
// Dessiner le schéma sur l'écran graphique
liste.dessiner(ecran);
// Translater le schéma
liste.translater(4, -3);
// Afficher le schéma
liste.afficher();
// Dessiner le schéma sur l'écran graphique
liste.dessiner(ecran);
// Forcer l'affichage du schéma (au cas où...)
ecran.rafraichir();
}
}