IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Problème de rafraichissment d'une barre de progression


Sujet :

SWT/JFace Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Problème de rafraichissment d'une barre de progression
    Bonjour à tous,

    J'ai un problème avec une barre de progression en SWT. En effet, pour montrer la progression d'un traitement, j'utilise une barre de progression.

    Ce traitement est fait dans plusieurs threads en parallèle qui vont incrémenter une classe PlayerCounter héritant de Observable.

    D'un autre coté, j'ai une classe qui crée une interface graphique SWT qui implémente Observer et dans la méthode update, je met à jour la barre de progression.

    et mon problème est que l'appel à la méthode syncExec (de display) bloque l'application et me rend pas la main.
    J'ai donc essayé avec asyncExec et le problème est que less appels à la méthode update se passent au bon moment, mais les threads exécutés par la méthode asyncExec sont éxécutés après les traitements.

    Voici le code de la méthode update :
    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
    public void update(Observable arg0, Object arg1) {
    		int percent = (this.controller.getNbProcessedPlayers()*100)/this.controller.getNbPlayersToProcess();
    		class setProgressBarValue implements Runnable{
    			int _percent = 0;
    			public setProgressBarValue(int percent){
    				this._percent = percent;
    			}
    			public void run() {
    				_log.info("%2 = "+_percent);
    				progressBar.setSelection(this._percent);
    				sShell.update();
    				sShell.redraw();
     
    				if(this._percent == 100){
    					try {
    						Thread.sleep(500);
    					} catch (InterruptedException e) {
    						_log.error(e);
    					}
    					step3();
    				}
    			}
    		}
    		display.syncExec(new setProgressBarValue(percent));
                    //display.asyncExec(new setProgressBarValue(percent));
    		_log.info("% = "+percent);
    	}
    Voici les logs avec la méthode asyncExec :
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    2010-02-25 21:31:55,596 - org.nicolasjan.ttpu.controller.TTPUController - ligne 76 - INFO -{ Number of Players : 86 }-
    2010-02-25 21:31:56,106 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 1 }-
    2010-02-25 21:31:56,111 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 2 }-
    2010-02-25 21:31:56,170 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 3 }-
    2010-02-25 21:31:56,182 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 4 }-
    2010-02-25 21:31:56,238 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 5 }-
    2010-02-25 21:31:56,251 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 6 }-
    2010-02-25 21:31:56,312 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 8 }-
    2010-02-25 21:31:56,329 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 9 }-
    2010-02-25 21:31:56,380 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 10 }-
    2010-02-25 21:31:56,396 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 11 }-
    2010-02-25 21:31:56,452 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 12 }-
    2010-02-25 21:31:56,465 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 13 }-
    2010-02-25 21:31:56,521 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 15 }-
    2010-02-25 21:31:56,536 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 16 }-
    2010-02-25 21:31:56,591 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 17 }-
    2010-02-25 21:31:56,614 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 18 }-
    2010-02-25 21:31:56,660 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 19 }-
    2010-02-25 21:31:56,683 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 20 }-
    2010-02-25 21:31:56,728 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 22 }-
    2010-02-25 21:31:56,751 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 23 }-
    2010-02-25 21:31:56,801 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 24 }-
    2010-02-25 21:31:56,822 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 25 }-
    2010-02-25 21:31:56,870 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 26 }-
    2010-02-25 21:31:56,904 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 27 }-
    2010-02-25 21:31:56,940 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 29 }-
    2010-02-25 21:31:56,972 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 30 }-
    2010-02-25 21:31:57,013 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 31 }-
    2010-02-25 21:31:57,041 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 32 }-
    2010-02-25 21:31:57,085 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 33 }-
    2010-02-25 21:31:57,137 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 34 }-
    2010-02-25 21:31:57,167 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 36 }-
    2010-02-25 21:31:57,207 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 37 }-
    2010-02-25 21:31:57,235 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 38 }-
    2010-02-25 21:31:57,275 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 39 }-
    2010-02-25 21:31:57,305 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 40 }-
    2010-02-25 21:31:57,345 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 41 }-
    2010-02-25 21:31:57,374 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 43 }-
    2010-02-25 21:31:57,414 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 44 }-
    2010-02-25 21:31:57,444 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 45 }-
    2010-02-25 21:31:57,482 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 46 }-
    2010-02-25 21:31:57,517 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 47 }-
    2010-02-25 21:31:57,552 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 48 }-
    2010-02-25 21:31:57,586 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 50 }-
    2010-02-25 21:31:57,623 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 51 }-
    2010-02-25 21:31:57,653 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 52 }-
    2010-02-25 21:31:57,693 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 53 }-
    2010-02-25 21:31:57,722 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 54 }-
    2010-02-25 21:31:57,771 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 55 }-
    2010-02-25 21:31:57,790 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 56 }-
    2010-02-25 21:31:57,840 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 58 }-
    2010-02-25 21:31:57,860 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 59 }-
    2010-02-25 21:31:57,909 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 60 }-
    2010-02-25 21:31:57,930 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 61 }-
    2010-02-25 21:31:57,979 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 62 }-
    2010-02-25 21:31:58,005 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 63 }-
    2010-02-25 21:31:58,048 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 65 }-
    2010-02-25 21:31:58,077 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 66 }-
    2010-02-25 21:31:58,116 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 67 }-
    2010-02-25 21:31:58,146 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 68 }-
    2010-02-25 21:31:58,187 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 69 }-
    2010-02-25 21:31:58,216 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 70 }-
    2010-02-25 21:31:58,256 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 72 }-
    2010-02-25 21:31:58,285 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 73 }-
    2010-02-25 21:31:58,325 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 74 }-
    2010-02-25 21:31:58,354 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 75 }-
    2010-02-25 21:31:58,396 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 76 }-
    2010-02-25 21:31:58,423 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 77 }-
    2010-02-25 21:31:58,465 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 79 }-
    2010-02-25 21:31:58,502 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 80 }-
    2010-02-25 21:31:58,536 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 81 }-
    2010-02-25 21:31:58,576 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 82 }-
    2010-02-25 21:31:58,606 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 83 }-
    2010-02-25 21:31:58,645 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 84 }-
    2010-02-25 21:31:58,681 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 86 }-
    2010-02-25 21:31:58,767 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 87 }-
    2010-02-25 21:31:58,779 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 88 }-
    2010-02-25 21:31:58,836 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 89 }-
    2010-02-25 21:31:58,850 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 90 }-
    2010-02-25 21:31:58,907 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 91 }-
    2010-02-25 21:31:58,922 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 93 }-
    2010-02-25 21:31:58,976 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 94 }-
    2010-02-25 21:31:58,991 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 95 }-
    2010-02-25 21:31:59,044 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 96 }-
    2010-02-25 21:31:59,064 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 97 }-
    2010-02-25 21:31:59,113 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 98 }-
    2010-02-25 21:31:59,182 - org.nicolasjan.ttpu.view.TTPUView - ligne 317 - INFO -{ % = 100 }-
    2010-02-25 21:31:59,279 - org.nicolasjan.ttpu.controller.TTPUController - ligne 184 - INFO -{ Number of players have points : 86 }-
    2010-02-25 21:31:59,288 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 1 }-
    2010-02-25 21:31:59,291 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 2 }-
    2010-02-25 21:31:59,297 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 3 }-
    2010-02-25 21:31:59,299 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 4 }-
    2010-02-25 21:31:59,302 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 5 }-
    2010-02-25 21:31:59,311 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 6 }-
    2010-02-25 21:31:59,314 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 8 }-
    2010-02-25 21:31:59,321 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 9 }-
    2010-02-25 21:31:59,328 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 10 }-
    2010-02-25 21:31:59,334 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 11 }-
    2010-02-25 21:31:59,337 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 12 }-
    2010-02-25 21:31:59,341 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 13 }-
    2010-02-25 21:31:59,346 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 15 }-
    2010-02-25 21:31:59,352 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 16 }-
    2010-02-25 21:31:59,362 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 17 }-
    2010-02-25 21:31:59,365 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 18 }-
    2010-02-25 21:31:59,369 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 19 }-
    2010-02-25 21:31:59,373 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 20 }-
    2010-02-25 21:31:59,376 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 22 }-
    2010-02-25 21:31:59,423 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 23 }-
    2010-02-25 21:31:59,427 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 24 }-
    2010-02-25 21:31:59,436 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 25 }-
    2010-02-25 21:31:59,438 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 26 }-
    2010-02-25 21:31:59,444 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 27 }-
    2010-02-25 21:31:59,467 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 29 }-
    2010-02-25 21:31:59,470 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 30 }-
    2010-02-25 21:31:59,474 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 31 }-
    2010-02-25 21:31:59,482 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 32 }-
    2010-02-25 21:31:59,485 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 33 }-
    2010-02-25 21:31:59,488 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 34 }-
    2010-02-25 21:31:59,492 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 36 }-
    2010-02-25 21:31:59,497 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 37 }-
    2010-02-25 21:31:59,501 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 38 }-
    2010-02-25 21:31:59,507 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 39 }-
    2010-02-25 21:31:59,510 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 40 }-
    2010-02-25 21:31:59,513 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 41 }-
    2010-02-25 21:31:59,515 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 43 }-
    2010-02-25 21:31:59,518 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 44 }-
    2010-02-25 21:31:59,528 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 45 }-
    2010-02-25 21:31:59,531 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 46 }-
    2010-02-25 21:31:59,535 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 47 }-
    2010-02-25 21:31:59,543 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 48 }-
    2010-02-25 21:31:59,546 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 50 }-
    2010-02-25 21:31:59,549 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 51 }-
    2010-02-25 21:31:59,551 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 52 }-
    2010-02-25 21:31:59,554 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 53 }-
    2010-02-25 21:31:59,558 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 54 }-
    2010-02-25 21:31:59,562 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 55 }-
    2010-02-25 21:31:59,574 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 56 }-
    2010-02-25 21:31:59,584 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 58 }-
    2010-02-25 21:31:59,586 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 59 }-
    2010-02-25 21:31:59,589 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 60 }-
    2010-02-25 21:31:59,599 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 61 }-
    2010-02-25 21:31:59,603 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 62 }-
    2010-02-25 21:31:59,608 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 63 }-
    2010-02-25 21:31:59,617 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 65 }-
    2010-02-25 21:31:59,621 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 66 }-
    2010-02-25 21:31:59,624 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 67 }-
    2010-02-25 21:31:59,639 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 68 }-
    2010-02-25 21:31:59,646 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 69 }-
    2010-02-25 21:31:59,649 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 70 }-
    2010-02-25 21:31:59,657 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 72 }-
    2010-02-25 21:31:59,665 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 73 }-
    2010-02-25 21:31:59,671 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 74 }-
    2010-02-25 21:31:59,675 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 75 }-
    2010-02-25 21:31:59,679 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 76 }-
    2010-02-25 21:31:59,685 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 77 }-
    2010-02-25 21:31:59,690 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 79 }-
    2010-02-25 21:31:59,694 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 80 }-
    2010-02-25 21:31:59,697 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 81 }-
    2010-02-25 21:31:59,701 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 82 }-
    2010-02-25 21:31:59,703 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 83 }-
    2010-02-25 21:31:59,707 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 84 }-
    2010-02-25 21:31:59,713 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 86 }-
    2010-02-25 21:31:59,718 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 87 }-
    2010-02-25 21:31:59,722 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 88 }-
    2010-02-25 21:31:59,729 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 89 }-
    2010-02-25 21:31:59,735 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 90 }-
    2010-02-25 21:31:59,742 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 91 }-
    2010-02-25 21:31:59,747 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 93 }-
    2010-02-25 21:31:59,754 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 94 }-
    2010-02-25 21:31:59,758 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 95 }-
    2010-02-25 21:31:59,761 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 96 }-
    2010-02-25 21:31:59,765 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 97 }-
    2010-02-25 21:31:59,768 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 98 }-
    2010-02-25 21:31:59,773 - org.nicolasjan.ttpu.view.TTPUView$1setProgressBarValue - ligne 300 - INFO -{ %2 = 100 }-
    Je vous remercie d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Je ne sais pas si ça va vraiment t'aider mais j'ai eu à peu près le même problème : un thread qui reçoit des données en UDP et l'autre rafraîchit un tableau qui les affiche avec un modèle Observer/Observable.

    Quand je mettais en syncExec() mon tableau était mis à jour mais les données qui arrivaient pendant ce temps étaient perdues (logique puisque c'est le thread de rafraîchissement du tableau qui avait la main)

    Quand je mettais en asyncExec() le tableau était mis à jour par "à coups" et j'ai l'impression que j'avais une longue liste de rafraîchissements en attente alors qu'un seul suffit vu que c'est le même tableau et qu'un rafraîchissement peut ajouter plusieurs nouvelles données du coup ça laggait un bon moment...

    Bref tout ça pour dire que j'ai utilisé la méthode readAndDispatch() de la façon suivante :

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    display.asyncExec(
         new Runnable() {
               public void run(){
    	 if(!display.readAndDispatch())
    	     if(!table.isDisposed())
    		viewer.refresh();
    }});

    Par contre je ne suis pas bien sûr de comprendre pourquoi ça marche ^^ A priori d'après ce que j'ai compris cette méthode vérifie qu'il n'y a pas un thread déjà en attente et l'exécute avant d'en rajouter un à sa "liste d'attente" le cas échéant... (c'est pas clair mon histoire hein ? De toute façon je suis peut-être hors-sujet ^^)

    Bref tu peux essayer ça, j'espère que ça t'aidera !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut
    J'ai testé avec la méthode readAndDispatch() et ça n'a pas réglé mon problème.

    Je pense que ça doit venir du couple Pattern Observeur/SWT. Mais, pour l'instant, je n'ai pas de solution.

    Peut-être que le pattern Observeur ne doit pas être utilisé dans le cas d'interface graphique ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut
    Ya-t-il quelqu'un qui a déjà utilisé une barre de progression en SWT, car la je sèche ?

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Je ne sais pas si tu as toujours ton problème, mais j'ai testé d'utiliser une barre de progression en SWT avec un modèle observer/observable et ça marche chez moi.

    A chaque fois que mon modèle est mis à jour, je passe la valeur de la position de la barre de progression en paramètre et ma méthode update ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void update(Observable arg0, Object arg1) {
    		if(arg1 instanceof Integer) {
    			final int index = ((Number)arg1).intValue();
    			display.syncExec(
    				  new Runnable() {
    				    public void run(){
    				    		myProgressBar.setSelection(index);
    				    }
    			});		
    		}
    	}
    Voilà j'espère que ça pourra t'aider !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut
    J'avais un peu laissé tombé, comme j'ai d'autres projets en cours. Quand j'aurai un peu de temps, j'essaierai avec ton code.

    Merci de ton aide

Discussions similaires

  1. Problèmes avec une barre de progression
    Par brbtx dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 19/12/2013, 16h48
  2. Problème de rafraichissement d'une barre de défilemement JScrollPane
    Par ForgetTheNorm dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 25/12/2008, 16h05
  3. Problème avec une Barre de Progression
    Par hugo69 dans le forum Access
    Réponses: 1
    Dernier message: 15/12/2006, 15h37
  4. [C#]Affichage d'une barre de progression
    Par boleduch dans le forum ASP.NET
    Réponses: 9
    Dernier message: 27/08/2005, 17h12
  5. Indy FTP (idFTP) faire une barre de progress de transfert
    Par Harry dans le forum Web & réseau
    Réponses: 4
    Dernier message: 09/07/2004, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo