Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Barre progression via thread [ Archives / Au secours ] (fred889944)

mercredi 10 novembre 2004 à 08:37:37 | Barre progression via thread

fred889944

Bonjour, j'aimerais afficher une barre de progression pendant l'execution d'une fonction nommée TOTO (son temps d'execution est relativement long)... Je me suis inspiré du tutorial consacre aux JProgressBar sur le site de sun ...
Neanmoins, la barre part de 0, ma fonction s'excute, et une fois executee, 100% s'affiche ... Je ne vois pas la progression ...
Que puis je faire ? Que dois je modifier dans mon code ? Merci de m'aider, je ne m'y connait pas bcp en thread ... Thks ...

public class JProgress2 extends JFrame implements Runnable
{
private JProgressBar progress;
private boolean isStarted;
private JButton bouton;
private int value;

public JProgress2 ()
{
super ("JProgressBar");

this.isStarted = false;
this.value = 0;
this.progress = new JProgressBar (0, 100);
this.progress.setStringPainted (true);
this.getContentPane ().add (this.progress);



this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
this.setLocation (200, 200);
this.pack ();
this.setVisible (true);

this.progress.setValue (0);
this.value = 0;
this.lanceLongTraitement ();
}




// cree un nouveau Thread et appelle la methode start
public void lanceLongTraitement ()
{
Thread t = new Thread (this);
t.start ();
// maintenant nous rendons la main au processus d'evenement
}

// methode de l'interface Runnable
// lance un nouveau thread qui va executer le code de la methode longTraitement
public void run ()
{
this.uneOperation();
}


public void longTraitement ()
{ // execute la succession d'operation ...
// on est plus dans le processus d'evenement mais dans le nouveau Thread
this.uneOperation ();
for (int i = 0; i < 100; i++)
{
this.majProgress ();
}
}



// methode qui effectue une pause pour simuler une operation
private synchronized void uneOperation ()
{ try
{
TOTO();
//this.wait (100);
this.majProgress ();

for (int i = 0; i < 100; i++)
{
this.majProgress ();
}

}
catch (Exception e)
{
}
}




public void majProgress ()
{
if ( SwingUtilities.isEventDispatchThread () )
{
progress.setValue (++value);
}
else
{
Runnable callMAJ = new Runnable ()
{
public void run ()
{
majProgress ();
}
};
SwingUtilities.invokeLater (callMAJ);
}
}



MERCI d'avance

}



Cette discussion est classé dans : public, progress, private, void, thread


Répondre à ce message

Sujets en rapport avec ce message

Redimensionner image dans applet [ par EvilGost ] alors, j'ai un petit prog en java qui affiche une image dans une applet.Le probleme, c'est que l'applet doit faire 300*200 et que l'image est en 600*4 Barre de progression [ par nataS22 ] Salut,J'ai toujours un problème d'affichage de ma barre de progression dans un thread, mais il semblerait que le problème vienne de l'actionListenner scintillement dans mon thread [ par lonyc ] Bonjour,   On voit bien dans mon animation que j'efface l'image, ca fait un scintillement, c'est vraiment pas beau.   Et je pense avoir fait ce qu'i Probleme de logique de Thread ... [ par threadom ] Donc ... Je dispose d'une classe composer comme cela :public class cOutput { public static void init() { } public static void start() { } //********** dessin graphique 2d [ par huongthuy ] Bonjour tout le monde! je suis étudiant.j'ai un projet.Le projet demande les fonctions:la fonction linéaire y = ab, la fonction affine y = ax+b, <td c executer fichier.bat avec java [ par alias100 ] Salut,j'ai realiser un programme qui me permet de lancer un fichier batch et ca marche en local, maintenant j'ai deux machine connecte appartient au m Impossible de démarrer une application [ par Gwinyam ] Bonjour,J'ai récupéré une application de travail sur le network avec les sockets. Le souci, c'est que quand je la lance en ligne de commande, il me re Ajouter un JScrollPane a un JPanel [ par simsima1448 ] : Salut a tousJe dois ajouter un JScrollPane a un JPanel qui contient un tableau de JTextField mais je ne sais pas comment ajouter le JScrollPane si v Ajouter un ecouteur de saisie à un JTextField [ par simsima1448 ] Salut, je dois ajouter un écoteur de saisie sur JTextField pour qu'une fois on commence l'écriture dans cette zone texte un autre JTextField  apparait probleme MouseListener [ par romainbisson ] Bonsoir,j'ai un probleme avec mon programmepublic class Bisson extends JFrame implements MouseListener{error : The type Bisson must implement the inhe


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.