Bonjour,

j'ai beau chercher dans la fac et dans les exemples de Valère VIANDIER , mais je ne comprend pas pourquoi mon Thread n'est pas pris en compte.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
      Thread setTime;

          public void actionPerformed(ActionEvent e) 
    {
//         JFrame frame1 = new JFrame("---Snake---");
        frame1.setSize(400,400);
        setTime=new Thread();
        
        if(e.getActionCommand().equals("DEMARRER"))
        {
            frame1.addKeyListener(new KeyAdapter() 
            {
                public void keyPressed(KeyEvent e) 
                {
                    int keyCode = e.getKeyCode();
        
                    if ((keyCode == e.VK_LEFT) &&(!right)){left = true; up = false; down = false;if(!started)started=true;}
                    if ((keyCode == e.VK_RIGHT) && (!left)){right = true; up = false; down = false;if(!started)started=true;}
                    if ((keyCode == e.VK_UP) && (!down)){ up = true; right = false; left = false;if(!started)started=true;}
                    if ((keyCode == e.VK_DOWN) && (!up)){down = true; right = false; left = false;if(!started)started=true;}
                    if(compteur==0)
                    {
                        deplacement();
                        compteur++;
                        setTime.start();
                    }
                }
            });

            x[0]=91;
            y[0]=91;
            button.setEnabled(false);
            button1.setEnabled(true);
            frame1.setContentPane(new Affiche(2,0,true,x,y,0));
            frame1.setLocationRelativeTo(frame1.getParent());
            frame1.setBackground(Color.white);
        
            //Display the window.
            frame1.pack();
            frame1.setVisible(true);
        }
}
dans le méthode déplacement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
      while(stop==1)    { // j'éffectue différentes opérations

   //a la fin des opérations, je souhaite faire un sleep                     
try{setTime.sleep(level);}            
 catch(InterruptedException e){}
 }
Je reçois l'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
unreported exception java.lang.InterruptedException; must be caught or declared to be thrown
                                                setTime.sleep(level);
J'ai essayé sous d'autres formes, mais je ne trouve pas la bonne.
Qu'est-ce que je fais de faux ??