Bonjour � tous!
J'ai encore un petit souci (pour changer...!)Mais cette fois-ci avec un thread!
Mon programme lance une interface graphique (Jframe) avec 2 Jbuton :
un bouton start pour lancer un thread et un bouton stop pour l'arr�ter.
Lorsque l'on clique une premi�re fois sur start le thread se lance bien, mais une fois arr�t�, il est impossible de relancer le thread une deuxi�me fois!
Voici mon code:Pourtant juste avant la deuxi�me relance quand je test l'etat du thread,
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 public class maFenetre extends JFrame implements ActionListener{ ... Thread1 p = new Thread1(); JPanel container = new JPanel(); JButton start = new JButton("Start"); JButton stop = new JButton("Stop"); ... public void actionPerformed(ActionEvent e) { if(e.getSource() == start){ System.out.println("Etat du thread p : \nStoppé :"+p.isInterrupted()+"\nVivant :"+p.isAlive()); if(p.isAlive()==false){ System.out.println("on lance le thread"); p.start(); } } else if(e.getSource() == stop){ p.interrupt(); } } ... public class Thread1 extends Thread{ ... public void run(){ while(Thread.currentThread().isInterrupted()==false){ ... try { Thread.sleep(10000); } catch (InterruptedException ex) { System.out.println("Interruption attrapé\nEtat du thread: "+Thread.currentThread().isInterrupted()); Thread.currentThread().interrupt(); System.out.println("Retest de l'etat du thread: "+Thread.currentThread().isInterrupted()); } } } }
p.isAlive() et p.isInterrupted() me retourne false! Le thread ne veut vraiment pas se relancer!!!!!Je ne vois pas ce qui cloche...
Partager