package linea; import java.awt.BasicStroke; import java.awt.Color; 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 //------------------------------------------------------------------------- // 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 Segment SegCourant; // Propriété listes de segements: Une ligne est constitué de plusieurs segments. // Stockage des segments afin de pouvoir les afficher et les animer plus tard protected ArrayList listeSegments = new ArrayList<>(); //------------------------------------------------------------------------- // METHODES //------------------------------------------------------------------------- //------------------------------------------------------------------------- // Constructeur de la classe //------------------------------------------------------------------------- public Ligne(){ // Valeurs initiales pour la position de la Ligne double x = 0; double y = 200; double dx,dy; // Création de la liste de segments qui composent la ligne Segment s; for (int i=0; i= s.x) && ( xCercle <= (s.x + s.xLong) ) ){ this.SegCourant = s; }else{ // Fin itération : rien ne se passe } } } } //------------------------------------------------------------------------- // Redéfinition de la méthode Animer, spécifiquement pour la classe Ligne //------------------------------------------------------------------------- @Override public void Animer() { // Principe : // on parcourt tous les segments et on décale chacun de 10 pixels (par exemple) // vers la gauche } }