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

JSF Java Discussion :

Progression Progress Bar


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Par défaut Progression Progress Bar
    Bonjour,
    Voila je bloque serieusement sur un probleme en relation avec les Progress Bar. Ma Progress Bar est ajouter via ma page en drag and drop et je veux la faire s'animer lors d'un clic bouton. Seulement voilà elle ne s'affiche qu'une fois la boucle pour terminée. Je voudrais la voir s'incrementer petit à petit quelqu'un a t il une idée ?Je vous remercie.
    Je vous joint la partie du code ou l'action s'effectue.
    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
     
     
     
        public String button1_action() {
               try {
     
                    progressBar1.setType("DETERMINATE");
     
                    for (int i = 0; i < 101; i++) {
     
                    progressBar1.setProgress(i);
                    progressBar1.setStatus(i + "% complété");
     
                    //Thread.yield();
     
                    }
     
                   progressBar1.setTaskState("completed");
     
                }
            return null;
        }
     
    }
    Cordialement
    fterm

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 90
    Par défaut
    C'est pas vraiment un problème JSF ça

    Je ne connais pas très bien ce composant , le code à l'air juste mais tu as peut-être oublié qu'une boucle de 100 tour , c'est effectué par le processeur très très très rapidemment. Tu n'a tout simplement pas le temps de voir la progress bar s'actualiser.

    Rajoute un Thread.sleep(5000) (avec un try catch InterruptedException) , ca te feras déjà une pause de 5 secondes entre chaque tour de boucle

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 31
    Par défaut
    J'ai essayé avec un Thread.sleep(1000) et l'affichage se fait qu'une fois la boucle terminée.J'ai vraiment plus d'idée.
    Cordialement,
    fterm

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut
    désolé de remonter ce vieux message mais j'ai exactement le même problème et je ne trouve pas de solution.

    Ma JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <a4j:commandButton actionListener="#{transfertDocsBackingBean.doTransfert}"
            value="Transférer"/>		
     
        <rich:progressBar id="progressBar" value="#{transfertDocsBackingBean.nbDocsProcessed}"
            interval="2000" label="#{transfertDocsBackingBean.nbDocsProcessed}"
            enabled="true" minValue="0" maxValue="#{transfertDocsBackingBean.nbDocsToMove}">
        </rich:progressBar>
    et dans mon backing bean :
    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
    public class TransfertDocsBackingBean {
    ...
    	public int getNbDocsProcessed() {
    		return nbDocsProcessed;
    	}
    ...
    	public void doTransfert(ActionEvent event) {
    ...
    		nbDocsToProcess = 100;
    		for(int i = 0; i < nbDocsToProcess; i++) {
    			Thread.sleep(500);
     
    			this.nbDocsProcessed = i+1;
    		}
    ...
    }
    Ma progressbar ne s'affiche que lorsqu'il a atteint la valeur max (100).
    En me mettant en debug je vois que pendant le traitement (doTransfert()), la méthode getNbDocsProcessed() n'est jamais appelée. Elle n'est appelée que quand doTransfert() est terminée.

Discussions similaires

  1. progress bar en c++
    Par boulette&co dans le forum MFC
    Réponses: 1
    Dernier message: 23/05/2005, 08h26
  2. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  3. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 21/04/2005, 18h39
  4. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23
  5. Progress bar au boot
    Par saibe dans le forum Administration système
    Réponses: 2
    Dernier message: 18/08/2003, 10h01

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