diff --git a/out/production/projet-dev/linea/Ligne.class b/out/production/projet-dev/linea/Ligne.class index 72383c0..d0d7508 100644 Binary files a/out/production/projet-dev/linea/Ligne.class and b/out/production/projet-dev/linea/Ligne.class differ diff --git a/src/Ligne.java b/src/Ligne.java index ac5baf6..87470a7 100644 --- a/src/Ligne.java +++ b/src/Ligne.java @@ -6,73 +6,47 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.util.ArrayList; -public class Ligne extends ObjetGraphique{// Hérite de la classe ObjetGraphique - // Ne pas oublier qu'il y a des propriétés et méthodes reçues par l'héritage +public class Ligne extends ObjetGraphique { - //------------------------------------------------------------------------- - // PROPRIETES - //------------------------------------------------------------------------- - - // nb de Segments qui composent la ligne protected int nbSegments = 400; - - // position du cercle, pour déterminer quel est le segment courant - protected double xCercle = 400; // à modifier - - // segment qui se trouve au niveau du cercle : on le mémorise pour accélérer les traitements + protected double xCercle = 400; protected Segment SegCourant; - - - //------------------------------------------------------------------------- - // METHODES - //------------------------------------------------------------------------- - - //------------------------------------------------------------------------- - // Constructeur de la classe - //------------------------------------------------------------------------- + + protected ArrayList listeSegments = new ArrayList(); + public Ligne(){ - // Valeurs initiales pour la position de la Ligne double x = 800; double y = 200; double dx,dy; - - // Création de la liste de segments qui composent la ligne + Segment s; for (int i=0; i listeObjets = new ArrayList(); + protected boolean estArrete = false; - protected ArrayList listeObjets = new ArrayList<>(); - - //------------------------------------------------------------------------- - // METHODES - //------------------------------------------------------------------------- - - //------------------------------------------------------------------------- - // Constructeur de la classe - //------------------------------------------------------------------------- + public ZoneDessin(){ - // on prépare la zone d'affichage setLayout(new BorderLayout()); setPreferredSize(new Dimension(800, 600)); - setBackground(new Color(0, 73, 220)); + setBackground(new Color(0, 73, 220)); } - - //------------------------------------------------------------------------- - // Ajout d'un objet graphique à la zonde de dessin - //------------------------------------------------------------------------- public void ajouterObjet(ObjetGraphique unObjet) { listeObjets.add(unObjet); } - - - //------------------------------------------------------------------------- - // Mettre en pause et redémarrer - //------------------------------------------------------------------------- + public void arreter(){ estArrete = true; } - public void demarrer(){ estArrete = false; } - - //------------------------------------------------------------------------- - // Boucle d'animation : - // - appelée par exemple 25 fois par seconde - // - à chaque appel : - // - on anime (déplace) chaque objet - // - on redessine tout : appel à paintComponent, déclenché par repaint - //------------------------------------------------------------------------- + public void traiterBoucleAnimation(){ if (estArrete==true) { return; } - - // 1. on déplace chaque objet graphique - // A FAIRE : décommenter lorsque cela devienda exécutable, et compléter for (ObjetGraphique obj : listeObjets){ - // A FAIRE : demander à obj de s'animer obj.Animer(); } - - - // 2. on demande à redessiner, ce qui déclenchera automatiquement - // l'appel à la méthode paintComponent, qui est ci-dessous - repaint(); + repaint(); } - - - //------------------------------------------------------------------------- - // Dessin, déclenché par le repaint() de la méthode ci-dessus - //------------------------------------------------------------------------- - public void paintComponent(Graphics g) { - // On demande à la super-classe (JPanel) de se redessiner - super.paintComponent(g); - // Puis on ajoute ce qui est spécifique à la classe - - // on indique qu'il faut de l'antialiasing + public void paintComponent(Graphics g) { + super.paintComponent(g); + Graphics2D g2D = (Graphics2D) g; g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); for (ObjetGraphique obj : listeObjets){ - // A FAIRE : demander à obj de s'animer - obj.Afficher(g2D); + obj.Afficher(g); } } - -} - - +} \ No newline at end of file