j'aimerai visualiser la progression d'un thread à l'aide d'une barre de
progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai
inséré une barre de progression et un bouton Stop qui me permet
d'arrêter proprement le thread, j'ai créé une deuxième classe
OnOffThread (le thread) qui exécute un appel système dans la méthode run.
Le problème c'est que ma fenêtre n'apparait qu'à la fin de l'exécution.
Voici mon code:
JDialog frame = new JDialog(this, "Barre de progression");
ProgressOnOff newContentPane = new ProgressOnOff(); // créé panel
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
frame.setVisible(true);
frame.pack();
frame.show();
newContentPane.start(); // permet de lancer le thread
------------------------------------------------
classe ProgressOnOff......
public ProgressOnOff() {
progressBar = new JProgressBar ();
stopButton = new JButton("Arrêter");
stopButton.addActionListener(this);
task = new OnOffThread ();
add(....) // ajout de tous les composants
timer = new Timer(ONE_SECOND, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (task.isDone()) {
Toolkit.getDefaultToolkit().beep();
timer.stop();
stopButton.setEnabled(false);
progressBar.setValue(progressBar.getMinimum());
progressBar.setString(""); //hide % string
if (progressBar.isIndeterminate())
progressBar.setIndeterminate(false);
}
}
});
}
public void start(){
progressBar.setIndeterminate(true);
task.run();
timer.start();
}
----------------------------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
TestMan
"Chez casto, ya tout's'ki faut ..." Enfin, plutot chez Sun ... http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" a écrit dans le message de news:
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai inséré une barre de progression et un bouton Stop qui me permet d'arrêter proprement le thread, j'ai créé une deuxième classe OnOffThread (le thread) qui exécute un appel système dans la méthode run.
"Chez casto, ya tout's'ki faut ..."
Enfin, plutot chez Sun ...
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" <smorel@irisa.fr> a écrit dans le message de
news:3F1506AA.2000805@irisa.fr...
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de
progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai
inséré une barre de progression et un bouton Stop qui me permet
d'arrêter proprement le thread, j'ai créé une deuxième classe
OnOffThread (le thread) qui exécute un appel système dans la méthode run.
"Chez casto, ya tout's'ki faut ..." Enfin, plutot chez Sun ... http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" a écrit dans le message de news:
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai inséré une barre de progression et un bouton Stop qui me permet d'arrêter proprement le thread, j'ai créé une deuxième classe OnOffThread (le thread) qui exécute un appel système dans la méthode run.
Sylvie MOREL
ben le problème c'est que j'ai effectivement pris quelques bouts de code du site pour faire ce que je voulais mais le problème c'est que je comprend pas pourquoi ma fenêtre n'apparait qu'à la fin de l'exécution du thread (ce qui est un peu inutile pour moi :-().
TestMan wrote:
"Chez casto, ya tout's'ki faut ..." Enfin, plutot chez Sun ... http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" a écrit dans le message de news:
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai inséré une barre de progression et un bouton Stop qui me permet d'arrêter proprement le thread, j'ai créé une deuxième classe OnOffThread (le thread) qui exécute un appel système dans la méthode run.
ben le problème c'est que j'ai effectivement pris quelques bouts de code
du site pour faire ce que je voulais mais le problème c'est que je
comprend pas pourquoi ma fenêtre n'apparait qu'à la fin de l'exécution
du thread (ce qui est un peu inutile pour moi :-().
TestMan wrote:
"Chez casto, ya tout's'ki faut ..."
Enfin, plutot chez Sun ...
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" <smorel@irisa.fr> a écrit dans le message de
news:3F1506AA.2000805@irisa.fr...
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de
progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai
inséré une barre de progression et un bouton Stop qui me permet
d'arrêter proprement le thread, j'ai créé une deuxième classe
OnOffThread (le thread) qui exécute un appel système dans la méthode run.
ben le problème c'est que j'ai effectivement pris quelques bouts de code du site pour faire ce que je voulais mais le problème c'est que je comprend pas pourquoi ma fenêtre n'apparait qu'à la fin de l'exécution du thread (ce qui est un peu inutile pour moi :-().
TestMan wrote:
"Chez casto, ya tout's'ki faut ..." Enfin, plutot chez Sun ... http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" a écrit dans le message de news:
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai inséré une barre de progression et un bouton Stop qui me permet d'arrêter proprement le thread, j'ai créé une deuxième classe OnOffThread (le thread) qui exécute un appel système dans la méthode run.
Sylvie MOREL
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais: thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé interrupt, stop.... mais mon exécution continue quand même à s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows :-()....
Merci
Sylvie MOREL wrote:
ben le problème c'est que j'ai effectivement pris quelques bouts de code du site pour faire ce que je voulais mais le problème c'est que je comprend pas pourquoi ma fenêtre n'apparait qu'à la fin de l'exécution du thread (ce qui est un peu inutile pour moi :-().
TestMan wrote:
"Chez casto, ya tout's'ki faut ..." Enfin, plutot chez Sun ... http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" a écrit dans le message de news:
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai inséré une barre de progression et un bouton Stop qui me permet d'arrêter proprement le thread, j'ai créé une deuxième classe OnOffThread (le thread) qui exécute un appel système dans la méthode run.
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais:
thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé
interrupt, stop.... mais mon exécution continue quand même à s'exécuter
(j'ai regardé dans le gestionnaire des taches sous Windows :-()....
Merci
Sylvie MOREL wrote:
ben le problème c'est que j'ai effectivement pris quelques bouts de code
du site pour faire ce que je voulais mais le problème c'est que je
comprend pas pourquoi ma fenêtre n'apparait qu'à la fin de l'exécution
du thread (ce qui est un peu inutile pour moi :-().
TestMan wrote:
"Chez casto, ya tout's'ki faut ..."
Enfin, plutot chez Sun ...
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" <smorel@irisa.fr> a écrit dans le message de
news:3F1506AA.2000805@irisa.fr...
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de
progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai
inséré une barre de progression et un bouton Stop qui me permet
d'arrêter proprement le thread, j'ai créé une deuxième classe
OnOffThread (le thread) qui exécute un appel système dans la méthode
run.
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais: thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé interrupt, stop.... mais mon exécution continue quand même à s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows :-()....
Merci
Sylvie MOREL wrote:
ben le problème c'est que j'ai effectivement pris quelques bouts de code du site pour faire ce que je voulais mais le problème c'est que je comprend pas pourquoi ma fenêtre n'apparait qu'à la fin de l'exécution du thread (ce qui est un peu inutile pour moi :-().
TestMan wrote:
"Chez casto, ya tout's'ki faut ..." Enfin, plutot chez Sun ... http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html
A toi d'adapter ça à ton besoin exact ;-)
Voili ...
-SLK
"Sylvie MOREL" a écrit dans le message de news:
Bonjour,
j'aimerai visualiser la progression d'un thread à l'aide d'une barre de progression. J'ai donc créé un panel ProgressOnOff dans lequel j'ai inséré une barre de progression et un bouton Stop qui me permet d'arrêter proprement le thread, j'ai créé une deuxième classe OnOffThread (le thread) qui exécute un appel système dans la méthode run.
Nicolas Delsaux
Le 17.07 2003, Sylvie MOREL s'est levé(e) et s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais: thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé interrupt, stop.... mais mon exécution continue quand même à s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows :-()....
C'est la tâche Java qui continue de s'exécuter, ou ton thread ? Si c'est
simplement la tache Java, c'est probablement parce que tu n'as pas fait de setDefaultCloseOperation(DISPOSE_ON_CLOSE)
-- Nicolas Delsaux "S'il existe deux ou plusieurs manières de faire quelque chose et que l'une de ces manières est susceptible de se solder par une catastrophe, on peut être certain que quelqu'un se débrouillera pour la choisir." Edward A.Murphy Jr
Le 17.07 2003, Sylvie MOREL <smorel@irisa.fr> s'est levé(e) et s'est dit
"tiens, je vais écrire aux mecs de fr.comp.lang.java"
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je
faisais: thread.run(). J'ai remplacé par thread.start() et ca marche
bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé
interrupt, stop.... mais mon exécution continue quand même à
s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows
:-()....
C'est la tâche Java qui continue de s'exécuter, ou ton thread ? Si c'est
simplement la tache Java, c'est probablement parce que tu n'as pas fait de
setDefaultCloseOperation(DISPOSE_ON_CLOSE)
--
Nicolas Delsaux
"S'il existe deux ou plusieurs manières de faire quelque chose et que l'une
de ces manières est susceptible de se solder par une catastrophe, on peut
être certain que quelqu'un se débrouillera pour la choisir."
Edward A.Murphy Jr
Le 17.07 2003, Sylvie MOREL s'est levé(e) et s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais: thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé interrupt, stop.... mais mon exécution continue quand même à s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows :-()....
C'est la tâche Java qui continue de s'exécuter, ou ton thread ? Si c'est
simplement la tache Java, c'est probablement parce que tu n'as pas fait de setDefaultCloseOperation(DISPOSE_ON_CLOSE)
-- Nicolas Delsaux "S'il existe deux ou plusieurs manières de faire quelque chose et que l'une de ces manières est susceptible de se solder par une catastrophe, on peut être certain que quelqu'un se débrouillera pour la choisir." Edward A.Murphy Jr
Sylvie MOREL
Dans la méthode run de mon thread, j'exécute un appel système (j'exécute une application onOff.exe qui me permet d'effectuer des calculs). Cette application peut prendre des semaines pour se terminer. J'aimerai bien l'arrêter.
J'espère avoir été un peu plus prise :-).
Merci beaucoup
Nicolas Delsaux wrote:
Le 17.07 2003, Sylvie MOREL s'est levé(e) et s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais: thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé interrupt, stop.... mais mon exécution continue quand même à s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows :-()....
C'est la tâche Java qui continue de s'exécuter, ou ton thread ? Si c'est simplement la tache Java, c'est probablement parce que tu n'as pas fait de setDefaultCloseOperation(DISPOSE_ON_CLOSE)
Dans la méthode run de mon thread, j'exécute un appel système (j'exécute
une application onOff.exe qui me permet d'effectuer des calculs). Cette
application peut prendre des semaines pour se terminer. J'aimerai bien
l'arrêter.
J'espère avoir été un peu plus prise :-).
Merci beaucoup
Nicolas Delsaux wrote:
Le 17.07 2003, Sylvie MOREL <smorel@irisa.fr> s'est levé(e) et s'est dit
"tiens, je vais écrire aux mecs de fr.comp.lang.java"
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je
faisais: thread.run(). J'ai remplacé par thread.start() et ca marche
bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé
interrupt, stop.... mais mon exécution continue quand même à
s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows
:-()....
C'est la tâche Java qui continue de s'exécuter, ou ton thread ? Si c'est
simplement la tache Java, c'est probablement parce que tu n'as pas fait de
setDefaultCloseOperation(DISPOSE_ON_CLOSE)
Dans la méthode run de mon thread, j'exécute un appel système (j'exécute une application onOff.exe qui me permet d'effectuer des calculs). Cette application peut prendre des semaines pour se terminer. J'aimerai bien l'arrêter.
J'espère avoir été un peu plus prise :-).
Merci beaucoup
Nicolas Delsaux wrote:
Le 17.07 2003, Sylvie MOREL s'est levé(e) et s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"
j'ai trouvé où ca bloquait. Lorsque que je lançais le thread je faisais: thread.run(). J'ai remplacé par thread.start() et ca marche bien.
Par contre, on fait comment pour arrêter le thread? j'ai essayé interrupt, stop.... mais mon exécution continue quand même à s'exécuter (j'ai regardé dans le gestionnaire des taches sous Windows :-()....
C'est la tâche Java qui continue de s'exécuter, ou ton thread ? Si c'est simplement la tache Java, c'est probablement parce que tu n'as pas fait de setDefaultCloseOperation(DISPOSE_ON_CLOSE)