IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

JProgressBar et rafraichissement


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut JProgressBar et rafraichissement
    Bonjour,
    J'ai creer une JProgressBar mais lorsque je l'appelle, elle ne se met jamais à jour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    public class JProgressBarTest extends Frame implements ChangeListener 
      {
      /* Numero de serialisation par defaut. */
    	private static final long serialVersionUID = 1L;
     
    	JProgressBar maBarre;
     
    	private int progress=0;
     
      public JProgressBarTest(String string, int nbLigne) 
        {
        setLayout(new BorderLayout());
        setName(string);
        maBarre = new JProgressBar(0,nbLigne);
        maBarre.setString("Progression");
        maBarre.setStringPainted(true);
        maBarre.addChangeListener(this);
        add("Center", maBarre);
        setBounds(320,240,250,100);
        setVisible(true);
        }
     
      public void stateChanged(ChangeEvent e) 
        {
    	  maBarre.setString ("Progession: " + (int)(maBarre.getPercentComplete()*100) + "%");
        }
     
      public void addLigne()
      {
    	maBarre.setValue( progress++ );
      }
    }
    je creer d'abord ma fenetre puis après j'essai de la mettre à jour par addLigne()

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Montre-nous ton main().

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    je ne l'execute pas dans mon main mais dans une fenetre qui charge un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	JProgressBarTest bar =new JProgressBarTest(fichier.get(0),nbLigne);
    	while ( (ligne = br.readLine()) != null )
    			{
    				bar.addLigne();
    ...

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Tu ne chargerais pas le fichier dans l'EDT par hasard ?
    Le code que tu as posté est-il exécuté dans un actionPerformed, ou dans une méthode appelée par un actionPerformed (ou itemStateChanged ou n'importe quelle autre méthode de EventListener) ?
    Il ne faut pas le faire, car dans ce cas tout l'affichage est freezé pendant la lecture du fichier (donc la progressBar aussi). Il faut lire le fichier dans un thread distinct de l'EDT.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  5. #5
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par iutcien
    je ne l'execute pas dans mon main mais dans une fenetre qui charge un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	JProgressBarTest bar =new JProgressBarTest(fichier.get(0),nbLigne);
    	while ( (ligne = br.readLine()) != null )
    			{
    				bar.addLigne();
    ...
    Et ce code là, il est exécuté dans un Thread à part ?
    Tu devrais lire ce tutorial sur les traitements longs et Swing.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    Merci , j'avais oublié de creer un nouveaux thread!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 19h07
  2. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 16h13
  3. [VB6] [Datareport] Pb de rafraichissement
    Par Gadoul dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/02/2003, 11h06
  4. Toujours un problème de rafraichissement de DBGrid
    Par tripper.dim dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 14h15
  5. Timage rafraichissment
    Par Rizzla dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/09/2002, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo