Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JProgressBar

3 réponses
Avatar
remy
bonjour

je voudrais suivre la copie d'un fichier via une JProgressBar
les thread sont obligatoires parce qu'actuellement
ma barre elle ne bouge qu'a la fin

merci

--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
la preuve http://remyaumeunier.chez-alice.fr/
remy

3 réponses

Avatar
Xavier Tarrago
Je vois deux méthodes :
1 - Faire un Runnable qui fasse le travail par petits bouts et qui se
re-InvokeLater(this) :

SwingUtilities.InvokeLater(new Runnable() {
Stream stream = new FileStream("monfichier");
public void run() {
copierUnPetitBoutDeStream();
mettreAJourLaBarreDavencement()
if (!copieTerminee) {
SwingUtilities.InvokeLater(this);
}
}
});

Je ne suis pas sur que le réordonancement des repaints que fait Swing ne
repousse pas la prise en compte des changements de la barre a la fin de la
tâche. Il faut essayer.


2 - Faire la lecture ds un autre thread que le thread Swing


"remy" a écrit dans le message de news:
eebu2b$5cd$
bonjour

je voudrais suivre la copie d'un fichier via une JProgressBar
les thread sont obligatoires parce qu'actuellement
ma barre elle ne bouge qu'a la fin

merci

--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
la preuve http://remyaumeunier.chez-alice.fr/
remy


Avatar
Kupee
Je vois deux méthodes :
1 - Faire un Runnable qui fasse le travail par petits bouts et qui se
re-InvokeLater(this) :

SwingUtilities.InvokeLater(new Runnable() {
Stream stream = new FileStream("monfichier");
public void run() {
copierUnPetitBoutDeStream();
mettreAJourLaBarreDavencement()
if (!copieTerminee) {
SwingUtilities.InvokeLater(this);
}
}
});

Je ne suis pas sur que le réordonancement des repaints que fait Swing ne
repousse pas la prise en compte des changements de la barre a la fin de la
tâche. Il faut essayer.


2 - Faire la lecture ds un autre thread que le thread Swing


Je dirais qu'il faut toujours faire ce genre de chose hors du thread
Swing pour que l'appli ne fige pas

Avatar
TestMan
bonjour

je voudrais suivre la copie d'un fichier via une JProgressBar
les thread sont obligatoires parce qu'actuellement
ma barre elle ne bouge qu'a la fin

merci



Bonjour,

ProgressMonitorInputStream sera votre ami ;-)
http://java.sun.com/docs/books/tutorial/uiswing/components/progress.html

A+
TM