bonjour,
J'aimerais afficher une horloge, dans une barre d'etat d'une interface développée en SWT, je pense que l'objet "horloge" n'existe pas dans la bibliothèque donc j'ai essayé d'ecrire le prog suivant :
dans mon shelle je rajoute un label : label_horloge et je lance le thread :
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 public class Horloge implements Runnable { private Label label; /** * @param l * */ public Horloge(Label l) { this.label = l; run(); } public void run() { label.getDisplay().asyncExec(new Runnable() { public void run() { Calendar c = Calendar.getInstance(); int h = c.get(Calendar.HOUR); int m = c.get(Calendar.MINUTE); int s = c.get(Calendar.SECOND); label.setText(h + ":" + m + ":" + s); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } }); } }
au lancement de l'appli l'interface s'affiche l'horloge aussi mais ça rame a mort, on dirait que le thread ne laisse pas la main a l'interface, donc j'ai du mal programmer mon thread, pouvez vous m'aide s'il vous plait.....merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Horloge h = new Horloge(label_horloge); while (!shell.isDisposed()) { shell.getDisplay().asyncExec(h); if (!display.readAndDispatch()) display.sleep(); }
Partager