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

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
choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
0
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
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