Graphisme+creer une barre de telechargement qui progresse au cour de l'execution

cs_Meriem85 Messages postés 43 Date d'inscription dimanche 13 avril 2008 Statut Membre Dernière intervention 30 juin 2010 - 28 avril 2008 à 15:57
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 28 avril 2008 à 17:18
Bonjour ,
Je viens de chercher sur le forum de l'aide pour pouvoir creer une barre de telechargement qui progresse au cour de l'execution d'une tache de mon programme (comme celle qui apparait aucour de l'installation).
Je suis encore entrain de chercher mais puisque je suis limitée par un delai alors SVP si vous avez une solution aidez moi
Bonne journée te merci d'avance

2 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
28 avril 2008 à 17:17
Bonjour,


je présume que tu souhaites réaliser un JProgressBar. Pour ce faire, voir la magnifique documentation de Sun : http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html


Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
28 avril 2008 à 17:18
Salut,

Il y a un composant graphique pour ça dans la bibliothèque swing. Ca s'appelle JProgressBar. Important :
il faut que ta tâche (et donc tes setValue(...) sur la JProgressBar) doivent se faire dans un autre thread.

par exemple

public void actionPerformed(ActionEvent e){
    bouton.setEnabled(false);
    new Thread(){
       public void run(){
           for(int i = 0 ; i < 100 ; i ++){
              faireUnePartieDuCalcul();
              progressBar.setValue(i);
           }
           bouton.setEnabled(true);  
       }
    }.start();
}

Je n'ai pas trop de temps donc ça n'est pas compilé et sûrement plein d'erreurs mais c'est l'idée.

Si tu ne crées pas un nouveau thread, les paint de la progressbar ne se feront pas pendant le calcul (donc elle serait inutile). C'est pour ça qu'il faut faire le calcul dans un thread. En contrepartie, ton bouton sera activable pendant le calcul, il faut donc le désactiver manuellement au lancement du thread et le réactiver à la fin du thread.
0