JProgressBar [JAVA] - Java - Programmation
Marsh Posté le 17-04-2002 à 21:03:08
tu mélanges présentation et processing ce qui n'est pas clair. Tu dois avoir deux threads séparée:
Une pour l'affichage qui, périodiquement, se rafraichit sur base des paramètres que tu as introduit
Une autre qui fait le processing effectif et qui met à jour la valeur de la progress bar
A coté de cela, je te conseille fortement de lire plus qu'un octets à la fois, les performances risquent de se dégrader très rapidement avec ta manière ...
Marsh Posté le 17-04-2002 à 23:12:06
ca n'explique pas pourquoi ca progress bar ne fonctionne pas ...
ca devrait marcher même si c'est pas très bô ...
Marsh Posté le 18-04-2002 à 09:23:16
benou a écrit a écrit : ca n'explique pas pourquoi ca progress bar ne fonctionne pas ... ca devrait marcher même si c'est pas très bô ... |
Je suis d'accord mais je n'ai ni le temps ni l'envie de me demander, sur base de 4 lignes de code, pq ca ne marcherait pas. Peut etre qu'en réfléchisant sur son design, il trouvera la solution. Et si ce n'est pas le cas, et bien qu'il poste qqch de plus complet et on devrait trouver l'origine du probleme ...
Et toi benou, tu sais pq ca ne marche pas sur base du code de sa boucle ?
Marsh Posté le 18-04-2002 à 09:43:43
Ben déjà, normalement, une JProgressBar, ça s'utilise pas comme ça! Que vient foutre du code graphique dans une écriture de fichier, non de non!
La JProgressBar a un système de listeners, c'est pas pour les chiens...
A mon sens, il faut isoler les problèmes : la classe qui écrit le fichier devrait implémenter ChangeListener, et la classe de gestion de la progressbar doit enregistrer le listener qui va bien...
[jfdsdjhfuetppo]--Message édité par gfive--[/jfdsdjhfuetppo]
Marsh Posté le 18-04-2002 à 14:58:01
DarkLord a écrit a écrit : Et toi benou, tu sais pq ca ne marche pas sur base du code de sa boucle ? |
je suis benou, pas devin
Marsh Posté le 18-04-2002 à 14:59:32
benou a écrit a écrit : je suis benou, pas devin |
bin voilà où je voulais en venir. Quitte à lui demander d'expliquer mieux autant lui dire en meme temps que son design est pourri
Marsh Posté le 18-04-2002 à 16:41:40
Va faire un tour sur le Javadoc pour la classe suivante:
javax/swing/ProgressMonitorInputStream.html
Marsh Posté le 18-04-2002 à 19:01:12
Je sais bien que c'est crado, mais je l'ai refait en MVC
(avec les classes Observable et Observer) et ça marche pas plus (ça fait exactement la même chose) et je comprends vraiment pas pourquoi.
gfive: Aurais-tu un exemple ou une doc avec ta façon de procéder ?
Marsh Posté le 17-04-2002 à 20:59:33
Voila mon problème:
J'ai une interface avec une barre de progression JProgressBar qui permet d'indiquer la progression de la réception d'un fichier.
voici la boucle qui reçoit le fichier
while ((unOctet = fromServer.read()) != -1)
{
versFichier.write(unOctet);
nboctetsRecus++;
interface.progressBar.setValue((int)100*nboctetsRecus/nbOc
tetsTotal);
interface.progressBar.repaint();
}
Le problème est que pendant le téléchargement la barre ne progresse pas, mais une fois qu'il est fini elle se remplit instantanément.