package linea; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.util.ArrayList; import javax.swing.JPanel; public class ZoneDessin extends JPanel { private static final long serialVersionUID = 1L; protected ArrayList listeObjets = new ArrayList(); protected boolean estArrete = false; public ZoneDessin() { setLayout(new BorderLayout()); setPreferredSize(new Dimension(800, 600)); setBackground(new Color(0, 73, 220)); } public void ajouterObjet(ObjetGraphique unObjet) { listeObjets.add(unObjet); } public void arreter() { estArrete = true; } public void demarrer() { estArrete = false; } public void traiterBoucleAnimation() { if (estArrete == true) { return; } for (ObjetGraphique obj : listeObjets) { obj.Animer(); } repaint(); } 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) { obj.Afficher(g); } } public void viderObjets() { listeObjets.clear(); } }