Bonjour a tous,

Voila 5 heures que je cherche desesperemment a resoudre un probleme de JProgressBar et rien n'y fait !
Pour faire simple :
J'ai une fenetre splittée en 2, a gauche un boutton et une JProgressBar, a gauche un objet Graphics2D.
Lorsque je clic que le boutton, je voudrais qu'il augmente le JProgressBar au fur et a mesure que les calculs pour le Graphics2D se font ...
Donc j'ai un

/*ActionListener*/
public void actionPerformed (ActionEvent evt){
Object source = evt.getSource();
if (source == b1){
pd.addGraphListener(this);

/*Thread JProgressBar*/
Thread runner = new Thread(new Runnable(){
public void run(){
refreshProgress(maBarre);
}
});
runner.start();

/*Graphics*/
pd.repaint();
pd.validate();
}

avec

public void refreshProgress(JProgressBar jpb){

for( int i = 0; i < 100; i++ ) {
jpb.setValue(i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {e.printStackTrace();}
}
}


Le probleme est le suivant, la JProgressBar se met UNIQUEMENT une fois que tout l'actionPerformed est terminé, et donc une fois que mon graph est fait ! !!! Pourtant l'utilisation du Thread me permet bien de faire les deux taches en parallele. Ce qui pose pb, c'est la rafraichissement de la fenetre ... j'ai l'impression que je n'ai pas la main que les objets swing de ma fenetre tant que l'actionPerformed tourne !

J'ai egalement tenté les methodes invokeLater mais celle ci permette de passer en priorité l'objet runnable sur l'EDT ... or moi, je voudrais qu'il soit fait en simultané

merci 1000 fois a ceux qui prendront le temps de m'aider !
Nico