Bonsoir,

j'ai développé une petite gui qui permet de visualiser la trajectoire d'une balle
rebondissant sur 3 cercles (afin de mettre en évidence la nature chaotique de ce système). J'aimerais que la trajectoire soit tracée avec un petit laps de temps entre les différentes collisions. Je la visualise dans un JPanel avec la
méthode paint(Graphics g2). J'ai essayé avec la méthode sleep comme suit mais sans succès:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
g2.drawLine((real_posx(xd)),(real_posy(yd)),(real_posx(xf)),(real_posy(yf)));
 
 try {
                repaint();
                Thread.sleep(1000);
 
            } catch (InterruptedException ex) {
            }
Même si je ne mets pas la méthode repaint() dans le bloc try, cela ne change rien. J'ai aussi tenté avec un Timer(que je ne maitrise pas bien) de cette façon mais toujours pareil, il m'affiche toute la trajectoire en une seule fois:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
g2.drawLine((real_posx(xd)),(real_posy(yd)),(real_posx(xf)),(real_posy(yf)));
 
      timer = new Timer(1000, new ActionListener () {
      public void actionPerformed(ActionEvent e) {
      repaint();
      }
  });
Voilà, si vous pouviez m'aider à faire sorte qu'il y ait une pause entre chaque
g2.drawLine. Pour info, le JPanel dans lequel est tout dessiné est déclaré de cette manière:





Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
        jPanel1 = new javax.swing.JPanel() {
         public void paint(Graphics g2)
        {
         super.paint(g2);	 
	 init_graph(g2);
        }};
et la méthode init_graph(g2) contient le g2.drawLine(....

Merci par avance.