Ajout d'un jProgressBar

Melissa75 Messages postés 21 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
J'ai un bouton auquel j'ai associé une action permettant de parcourir une boucle en java , par exemple:
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
for (int p = 0; p < nbCombinaison; p++) nb++;
}});

Maintenant je veux rajouter un jProgressBar. Ce dernier doit progresser au fur et à mesure de la progression de la boucle... J'ai essayé plusieurs solutions sans arriver à résoudre le problème..SVP toute aide est la bienvenue...Merci d'avance.

3 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    La JProgressBar ne va pas avancer tout seul, il faut lui donner les valeurs de son avancement. Par exemple (à tester)

    jButton1.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent arg0)
        {
            progressBar.setValue(0);
            progressBar.setMaximum(nbCombinaison);
            progressBar.setIndeterminate(false);
            
            for (int p=0; p<nbCombinaison; p++)
            {
                nb++;
                Thread.sleep(100000); // on attend 0.1 seconde
                progressBar.setValue(p+1);
            }
        }
    });

    Remarque : j'espère que tu sais qu'une boucle comme ça :
    for (int p=0; p<nbCombinaison; p++) nb++;
    Peut se remplacer par ça :
    nb+=nbCombinaison;
    La confiance n'exclut pas le contrôle
    0
  2. Melissa75 Messages postés 21 Statut Membre
     
    Salut, merci pour vos réponses!!
    - KX ta solution apparemment s'applique juste lorsque l'action contenue dans la boucle est simple...Dans ma boucle il y a des appels vers des méthodes...Une fois que j'adopte ta solution à mon cas ça ne marche pas :/
    - choubaka oui j'ai vu le lien..je suis débutante et je vois pas comment les implémenter :/
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Même si la mise en oeuvre dépendra forcément de ton programme, et donc des appels à tes méthodes, le principe de base restera le même, et tu devras donc faire avec...
      0