Bon, je viens de lire tout les tuto, forum possibles et imaginable sur le net et sur ce site.. je bloque et je deviens fou avec l'utilisation de swing.
je vous expose le problème (à peut près similaire a tous les post de cette section semble t'il)
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 class gui(){ // construction de l'interface graphique } Void main (...){ invokeandWait(gui); } class GestionAction implements ActionListener { actionPerformed(e){ // ouvre une boite de dial pour choisir un fichier if (status = approve_option) { // nouveau thread travail_long(progress_bar) travail_long.start(); } travail_long(){ boucle( // fait beaucoup de chose qui prenne du temps SwingUtilities.invokeLater{ progress_bar.setvalue(incremente);} ) }
Voila, je fait une interface graphique, que je lance.. jusque la pas de problème, ensuite un nouveau thread est démaré lors d'un cklick sur un bouton, le thread fait un gros traitement et dans une boucle devrait incrémenter un progress bar... mais rien de marche, le progress bar se met à jour qu'a la fin du gros traitement.. je désespère.
j'ai bien compris le fait qu'on ne doit pas fair de traitement dans l'EDT car ça bloque tout, mais la je lance un thread à part, alors pourquoi blocs il toujours mon IHM ??
Partager