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 :

InfiniteProgressPanel et courte attente


Sujet :

AWT/Swing Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut InfiniteProgressPanel et courte attente
    salut,

    j'utilise la tres belle classe de Romain Guy InfiniteProgressPanel pour faire attendre les utilisateurs lorsque les temps de traitement sont long
    http://www.jroller.com/page/gfx/2005...style_in_swing

    mais je rencontre un petit soucis: les actions que je lance peuvent etre tres longues ou tres courtes (je n'ai aucun moyen de savoir par avance).
    Le probleme est que lorsqu'elles sont tres courtes (qq milisecondes) cela plante completement l'appli !

    l'arret de l'animation parait bien applée, le glasspane n'est plus visible , par contre impossible de reprendre la main sur l'interface....

    pour illustrer le probleme je joins le code suivant:
    si le thread dort 1000 ms aucun pb , changez le a 1 ou 0 ms et cela ne fonctionne plus (parfois dès la premiere fois , d'autre fois au 2 ou 3 eme appel)

    si quelqu'un comprend pourquoi Romain peut etre ?

    merci

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    public class Test extends JFrame implements ActionListener {
     
        protected InfiniteProgressPanel glassPane;
     
        public static void main(String[] args) {
     
            Test test = new Test();
            test.setVisible(true);
        }
     
        public Test() {
            setSize(200,400);
            JButton bt = new JButton("go");
            bt.addActionListener(this);
            getContentPane().add(bt);
            this.glassPane = new InfiniteProgressPanel();
            setGlassPane(glassPane);
        }
     
        public void actionPerformed(ActionEvent e) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
     
                    glassPane.start();
                    Thread performer = new Thread(new Runnable() {
                        public void run() {
                            loading2();
     
                        }
                    }, "Performer");
                    performer.start();
                }
            });
        }
     
        private void loading2(){
            try {
                Thread.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            glassPane.stop();
            System.out.println("stop");
        }
    }
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [TControl] Récupérer le message court et long du hint ?
    Par Cornell dans le forum Composants VCL
    Réponses: 6
    Dernier message: 19/11/2003, 08h55
  2. procédure attente
    Par Mau dans le forum Réseau
    Réponses: 7
    Dernier message: 26/09/2003, 22h23
  3. Délai d'attente expiré
    Par amiral thrawn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/04/2003, 12h04
  4. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12
  5. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 13/07/2002, 20h08

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