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
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) {
			}
		}
	}
}
Merci de votre aide