Bonour tout le monde,

Il y a peu de temps j'ai demandé comment fermer un thread, on ma redirigé vers la faq mais malheureusement je n'arrive pas à le faire. Bien sur j'ai essayé d'autre méthode mais c'est pareil.
Je suis débutant en Java.
Voici mon dernier essaie (je le trouvais pas mal mais ça 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
 
public class inter_client extends JFrame
{
...
private boolean fin= true;
//voici le thread de connexion a un serveur.
public class threadconnex extends Thread
	{
		public void run()
		{
		boolean connexionEnCours = true;
		try
		{
			BufferedReader entrée = new BufferedReader(new InputStreamReader(conexion.getInputStream()));
			PrintWriter sortie = new PrintWriter(conexion.getOutputStream(), true);
			sortie.println("Client connecté\n");
			while(connexionEnCours)
			{
				connexionEnCours = fin;
				String ligne = entrée.readLine();
				panneau.append(ligne);
 
			}
			panneau.append("\nfermeture connexion\n");
			sortie.println("Client deconnecté\n");
			conexion.close();
		}
		catch(IOException ioe)
		{
			panneau.append("\nerreur 11 " + ioe);
		}
	}
	}
//méthode déclencher par clic de souris en interface graphique
public class lance_conex implements ActionListener
	{
		public void actionPerformed(ActionEvent ea)
		{
			try{
				conexion = new Socket("meda.homelinux.com", 1234);
				panneau.append("Connexion au serveur établie\n");
				t1 = new threadconnex();
				t1.start();
				lancer.setEnabled(false);
				arreter.setEnabled(true);
			}
			catch(IOException ioe)
			{
 
			}
		}
	}
//voici la méthode pour fermer le thread, il change la valeur du booléen.
//méthode déclencher par clic de souris en interface graphique
public class arrete_conex implements ActionListener
	{
		public void actionPerformed(ActionEvent ace)
		{
				fin = false;
				conexion = null;
				chat.setEnabled(false);
				arreter.setEnabled(false);
				lancer.setEnabled(true);
		}
	}
Donc en fait la je changeais la valeur d'un booléen pour terminer la boucle.

merci pour votre aide