From c8dc7a4038bc9153b162cf6b828bb4ef078ae303 Mon Sep 17 00:00:00 2001 From: tit-exe Date: Tue, 10 Feb 2026 15:48:46 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20des=20fonctionnalit=C3=A9s=20du=20diagr?= =?UTF-8?q?amme=20de=20classe=20(methodes,=20listes,=20...)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- out/production/projet-dev/linea/Ligne.class | Bin 1522 -> 2048 bytes src/Ligne.java | 60 +++++----------- src/LineaAppli.java | 2 +- src/ZoneDessin.java | 76 ++++---------------- 4 files changed, 32 insertions(+), 106 deletions(-) diff --git a/out/production/projet-dev/linea/Ligne.class b/out/production/projet-dev/linea/Ligne.class index 72383c0f3769b52f0dd2bc60a9e35d92a83c1748..d0d7508e1ab70f9d1e18700b738f57422f8d1a29 100644 GIT binary patch literal 2048 zcma)7T~ixX7=BK^mMlx5A$+zfNTo@jgfFpeS{e$av<*-NDWF!DWJwl6(rz{_wO)AP zwBwz(-a6ypo#Tvv%8b)%NB@R1{sl+H=j?6@I(5cm=Ip!YydTf|yzhJVr@wyq5x_Nk zq{0Wkf`En~LITmESu*tG{Mv?LU$^vo1@nH@5C~l|OQt<8;E%loYO1BR1tY&@l+Zhzc}s=nwQ{)i#UC z3Cq$SWz34Lq8WZ^)uy2x9RdwS?ixqVTQV=ON`=y&x&cFJ(-l;_f-VK!8eT<@zzN5y zsF(7|S=}x$H%l+&%3DruQ=#-|&3v&YOu2%BJ_m&4$3vkafpe0%0VWlj;xE3WV6YZM ze`qHs%f+%47|;Cti;5&hr1B_Z#-^vI<4e+hOv4*EPvR^ zGcIaK;S!Aj5w$hcvr)Fvh_m~C3DNL3+3Ex-O{%V)|4UD1yYeUrcH@fbpj8_s-l}C?BfIl z_~(7$NW2A{r-60n$@zvrp0W=Ggedbe;>rmY^K8s|o;*$LLnKa$&vv0CqG;GfW8whK zEBk2KMQaqDGf|wr=^s;D)Wo+?zQFQ#csYtQn^E*;F9e;J7+=ohFDM5{telOv2iui> z^j{2jgb$Ehi44jAK8E-3Iz6;@g!gda&e`^0b|&7gWN&_=ik-tRzabPqHn?6z6W5bY zS~9T+8u1d>ZqDgzXu}Y%t#KxH3!PZSDHM77fOpYjbm3#3KjD3}Ne?sN#BwdtHc0Ih zwkRpI=|_nKg%QJDlo>&#_EX%$eLlN+Vo^^p)*335{II#-1>YeJct6+q{d^~bz#%)F zm%O_pcDb4Ctk|v&0g|0OxQNeZ1THoh%cKG(a7hQ9wrY@{m%MyvUM|;32lz z0y2*i@coHS1(y}f{f^T-=a71+Z9ZjgJs!qPpNBC@!NoY+zlV2r4u3lW7;(Z5vJgWo z!Z67nae%cl;3=L-V6snpJYW(;J$!$l&Oy-8G$HS4s>sjEAfHk>l<3>XT^YpZ^n^qx zzjd;%nj?oick(kBC>ls^xL05{{rAPzR(dsP(#Q- z7!iS3+wNL2eQ*Df<=%1R56n)Ct1^w z92SvZx#>c$-E%_O^6!7>NMJ<;UuDfisZ>hVRDRmPJ6L0*N0wXY9k;DxM_@Kl_Gpd} zwiNI+UX0wnn&wfasNr1-J-WChk8HE*I=w?Hl*<7+*73foyCD!tcvUmlGH?SQ2t--c zk0r#JqP~w+)jZScku#82`h}X7TUU;Pf#T5dfc&Wm`BO|+V5-mc9Ts?) zZ*FKOSgbE4N6?z?PK{RR+r*ob2}N=%$=`w@%`!ZA6PYrZ9X?K z$>)N{bR03VUBr1@#ziD?1 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