Bonjour,
J'ai fais un petit code pour comprendre les thread. J'obtiens une erreur que je ne comprends pas.
J'ai essaié de faire un chrono sans passer par la class Timer. J'ai un bouton qui appelle la méthode run de mon thread qui compte. Si j'appuye de nouveau sur le bouton cela appelle la méthode stop du thread. Mon problème vient si je refais un appelle de la méthode run.
Voici le code:
Voici l'erreur :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 public class EssaiThread extends JFrame{ public JPanel p; public JLabel l; public JRadioButton b; public leThread th; public EssaiThread() { p = new JPanel(); l = new JLabel("0"); b = new JRadioButton("Start"); th = new leThread(l); p.add(l); p.add(b); add(p); setVisible(true); pack(); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(b.isSelected()) { b.setText("Stop"); th.start(); } else{ b.setText("Start"); th.stop(); } } }); } public static void main(String[] args){ new EssaiThread(); } } class leThread extends Thread{ public int count = 0; public JLabel l; public leThread(JLabel jl){ l = jl; } public void run(){ while(true) { count++; System.out.println(count); l.setText(new Integer(count).toString()); try{Thread.sleep(1000);} catch (InterruptedException e) {} } } }
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException
Partager