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:
et modifié mon whileCode:
1
2
3 public void terminate() { running = false; }
et dans mon main j'ai fais les choses ainsi:Code:
1
2
3 public void run() { while (running) try { ...etc
mais impossible d'appeler ma méthode terminate :(Code:
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; } }
Pièce jointe 204408
Pourquoi ?
Merci :)