Bonjour,
J'ai une application swing qui exécute un thread lors du clic sur le bouton "Demarrer" et je souhaite arrêter celui-ci lorsque que je clique sur le bouton "Arrêter".
J'ai donc essayer avec la méthode Intterrupt mais cela ne fonctionne pas
Merci de votre aide
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 public class Demarrer extends JFrame implements ActionListener, Runnable { protected JButton demarrer = new JButton("Démarrer"); protected JButton arreter = new JButton("Arrêter"); protected JLabel message = new JLabel("Message Test"); protected JPanel panel = new JPanel(new FlowLayout()); public Demarrer(){ setTitle("Message"); setLayout(new BorderLayout(1,2)); panel.add(demarrer); panel.add(arreter); this.add(message, BorderLayout.NORTH); this.add(panel, BorderLayout.SOUTH); demarrer.addActionListener(this); arreter.addActionListener(this); } public void actionPerformed(ActionEvent event) { Object source = event.getSource(); Thread thread = new Thread(){ } if(source == demarrer) { thread.start(); }else if(source == arreter) { thread.interrupt(); } } public void run() { while (!Thread.interrupted()){ try{ String texte = message.getText(); String debut = texte.substring(0, texte.length()-1); String fin = texte.substring(texte.length()-1); texte = fin+debut; message.setText(texte); Thread.sleep(100); }catch (InterruptedException e) { } } } }
Partager