ProgressBar et thread [Résolu]

info19 17 Messages postés lundi 27 septembre 2010Date d'inscription 28 décembre 2012 Dernière intervention - 5 avril 2012 à 14:42 - Dernière réponse : info19 17 Messages postés lundi 27 septembre 2010Date d'inscription 28 décembre 2012 Dernière intervention
- 21 avril 2012 à 22:44
slt
j'ai une question, comment puisse je programmer un progress bar avec une durée non défini, comme lors de l’exécution d'un algorithme de résolution d'un problème np-complet, exp, le problème des n-reines (csp) ,lorsque n= 20 le temps et tres grand, et inconnu initialement, et je veux que lorsque mon programme me donner toutes les solutions possible, le progresse bar s y compléter
je pense qu'il faut utiliser les threads, mais je suis vraiment débutante avec cette notion

je veux que lorsque je lance mon application - resolution de brobleme de n-reine- une fenetre jframe qui contient un progress bar s y affichée et lorsque le traitement se termine apres un temps non defini initialement, le progress bar s y completer et la fenetre se cache

si j'ai reussi a faire ca , je vais ajouter par la suite un bouton pour arreter le traitement - mais ça est optionnel pour le momment

j'espere que ma question est clairte, et parodon pour mon francais qui n'et pas bien

merci pour votre aide
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cormandyr 600 Messages postés samedi 20 mai 2006Date d'inscription 8 juillet 2016 Dernière intervention - 6 avril 2012 à 08:36
3
Merci
Salut,

en effet, il vaut mieux utiliser deux thread pour faire ce que tu demandes...
comme ça, je te dirai d'avoir la progressBar dans ta thread principale (celle de ton application) et après avoir initialiser ta fenêtre, tu lance la deuxième (celle de calcul).

Bon la progressBar:
moi je suis plus axé SWING, donc j'utilise des JProgressBar qui ont une méthode setIndeterminate(boolean). Si tu mets true, il aura le comportement que tu demandes (en gros, pas d'information de progression pour le moment...)

les Thread:
Après avoir initialiser ton GUI, tu lances ta deuxième thread comme ceci par exemple:
new Thread(new ComputingClass()).start();

et ta class de calcul (ComputingClass), qui va donc faire le calcul que tu veux doit implémenter l'interface Runnable. Plus précisément, le code de calcul devra être dans la méthode run()...

Merci cormandyr 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de cormandyr
Meilleure réponse
cormandyr 600 Messages postés samedi 20 mai 2006Date d'inscription 8 juillet 2016 Dernière intervention - 11 avril 2012 à 08:11
3
Merci
Je ne suis pas bon pédagogue ^^
j'avoue qu'il m'est difficile d'avoir un exemple plus simple pour démarrer une nouvelle thread que:
new Thread(new Runnable(){
   public void run() {/* code à exécuter dans la nouvelle thread. */ }
}).start();


si jamais, il y a un tutoriel sur code source. Et je peux toujours tenter de répondre s'il y a un soucis...

Merci cormandyr 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de cormandyr
info19 17 Messages postés lundi 27 septembre 2010Date d'inscription 28 décembre 2012 Dernière intervention - 5 avril 2012 à 19:17
0
Merci
aidez moi s.v.p
Commenter la réponse de info19
info19 17 Messages postés lundi 27 septembre 2010Date d'inscription 28 décembre 2012 Dernière intervention - 6 avril 2012 à 20:18
0
Merci
slt;
merci infiniment pour votre attention, comme j'ai mentionné, je suis débutante avec cette notion de thread, si t'as des exemple simple ou un lien utile, merci de me proposé;
je travaille sous netbeans

je vais encore chercher en plus, et tester ce que tu as dit
encore une fois, merci
Commenter la réponse de info19
info19 17 Messages postés lundi 27 septembre 2010Date d'inscription 28 décembre 2012 Dernière intervention - 21 avril 2012 à 22:44
0
Merci
merci infiniment cormandyr

merci pour votre aide
Commenter la réponse de info19

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.