Bonjour tous le monde,
j'ai vu que la méthode stop étais deprecated, j'ai donc regardé un peu sur internet comment stoper un thread proprement, dans ma class serveur j'ai donc rajouté une méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	public void terminate() {
        running = false;
    }
et modifié mon while
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	public void run() {
		while (running)
			try { ...etc
et dans mon main j'ai fais les choses ainsi:

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
 
 
public class UImain extends Application {
 
	private static Thread srvthread;
 
	// ............................................
 
	@FXML
	public void startserv(ActionEvent event) {
		setSrvthread(new Serveur());
		srvthread.start();
	}
 
	@FXML
	public void stopserv(ActionEvent event) {
		if (srvthread != null) {
			getSrvthread().terminate;
		}
	}
 
	public static void main(String[] args) {
		launch(args);
	}
 
	public static Thread getSrvthread() {
		return srvthread;
	}
 
	public static void setSrvthread(Thread srvthread) {
		UImain.srvthread = srvthread;
	}
}
mais impossible d'appeler ma méthode terminate

Nom : Zo7LMDF.png
Affichages : 87
Taille : 13,0 Ko

Pourquoi ?

Merci