salut a tous

voila j'ai un programme avec un algo long.
j'ai fais une classe Barre qui extends JFRAME:
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
 
 
import javax.swing.*;
 
public class Barre extends JFrame{
 
 private static final long serialVersionUID = 2L;
public JProgressBar b;
 
public Barre(){
super("ma barre");
  initialize();
this.setBounds(200,200,200,50);
b=new JProgressBar(0,100);
this.getContentPane().add(b);
 
}
 
/**
 * This method initializes this
 * 
 */
private void initialize() {
        this.setTitle("Progression");
 
}
 
 
 
 
 
public void avancer(int i) {
 // TODO Auto-generated method stub
 if(i==100){
  b.setValue(100);
  b.repaint();
 }else{
 if (b.getValue()<100){
  b.setValue(b.getValue()+i);
  b.repaint();
 }
 }
}
}
et je l'appel comme ça dans mon autre programme ou est l'algo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Barre bar=new Barre();
      bar.setVisible(true);
      bar.avancer(10);
***
 bar.avancer(1);
***
 bar.avancer(1);
Seulement probleme la barre ne s'affiche pleine qu'une fois l'algo terminé.
c'est a dire que la frame s'affiche bien au début de l'algo. mais qu'on ne voit pas la progression au fur et a mesure des bar.avancer(1); et que a la fin la barre se rempli d'un coup quand l'algo est fini. je pensais que c'etait un probleme de repaint alors j'en ai mis partout mais c'est pas ça. pouvez vous m'aider? merci
C'est peut etre un probleme de thread?je dois en faire?

[ Sujet déplacé depuis le forum java par Viena ]
Les Règles du Forum