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

EDT/SwingWorker Java Discussion :

jProgress Bar et EDT


Sujet :

EDT/SwingWorker Java

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 168
    Par défaut jProgress Bar et EDT
    Bonjour, je souhaite afficher une information d'attente à l'utilisateur quand un traitement est long. J'essaye donc d'utiliser un jProgress Bar, mais si j'ai bien compris je dois lancer mon traitement dans un thread à part (et incrémenter la jProgress Bar dans ce thread) pour que l'EDT puisse afficher la jProgress Bar.
    Si c'est ça .... comment faire pour lancer mon traitement ?
    Et en fait est ce que la jProgress Bar est une bonne solution ?
    merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah c'est simple

    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
     
    public void actionPerformed(ActionEvent e) {
       Runnable r = new Runnable() {
          public void run() {
                monActionLongue();
          }
       }
       Thread t = new Thread(r);
       t.start();
    }
     
    private void monActionLongue() {
       for (int i=0; i<condition;i++) {
           action();
           //Mise à jour de la progressBar dans l'EDT
           Runnable r = new Runnable() {
                 maProgressBar.setValue(i);
           }
           SwingUtilities.invokeLater(r);
       }
    }

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 168
    Par défaut
    comme j'ai utilisé netbeans pour la partie graphique et ma jProgress Bar n'est pas accessible, faut il que je passe par un modéle ?
    merci

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Fais toi une méthode getProgressBar dans ta classe et utilises là au lieu de l'appel direct à maProgressBar

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 168
    Par défaut
    OK ça marche
    merci

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

Discussions similaires

  1. Mettre en pause plusieurs Jprogress Bar
    Par Cedric3111 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 27/01/2011, 21h05
  2. JProgress Bar (à incrémenter)
    Par matt8-5 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 03/07/2007, 12h27
  3. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  4. Outlook bar Menu
    Par JCK dans le forum XMLRAD
    Réponses: 2
    Dernier message: 26/03/2003, 10h48
  5. outlook bar
    Par camis dans le forum Composants VCL
    Réponses: 3
    Dernier message: 13/08/2002, 17h13

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