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

Agents de placement/Fenêtres Java Discussion :

cursor d'une jframe avec une jdialog


Sujet :

Agents de placement/Fenêtres Java

  1. #21
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par kimjoa Voir le message
    ca marche nickel
    c'est pas un bug alors .. j'ai toujours fais confiance à Java

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Points : 491
    Points
    491
    Par défaut
    c'est vrai que java et réputé pour ca fiabilité !!! Un bug comme ca ca 'aurait pas passé inaperçu !!

    En faite si j'ai bien compris, lorsque je fais une requête , celle si est asynchrone? Mais par contre pour quand j'ai fait :

    Thread.currentThread().sleep(2000);
    Ca n'a pas bloqué l'exécution de la méthode pendant 2sec, donc ce n'était pas le thread associé à la méthode, non? Pourrais-tu m'expliquer please ..ca me laisse perplexe

    a+

  3. #23
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par kimjoa Voir le message
    c'est vrai que java et réputé pour ca fiabilité !!! Un bug comme ca ca 'aurait pas passé inaperçu !!

    En faite si j'ai bien compris, lorsque je fais une requête , celle si est asynchrone? Mais par contre pour quand j'ai fait :



    Ca n'a pas bloqué l'exécution de la méthode pendant 2sec, donc ce n'était pas le thread associé à la méthode, non? Pourrais-tu m'expliquer please ..ca me laisse perplexe

    a+
    salut.
    dsl mais j'ai pas bien saisie le problème

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par slim_java Voir le message
    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
     
     public void actionPerformed(ActionEvent e) 
                {                             
           Main.frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                    Thread monThread  = new Thread()
                    {
                        public void run()
                        {
                          //sleep(2000);
                        for (int i=0;i<99999;i++)
                             System.out.println("ca va marcher !!");
     
                        Main.frame.setCursor(Cursor.getDefaultCursor());
                        }
                    };
                    monThread.start();
                    }
    Attention à quand même exécuter les actions Swing dans l'EDT.

    Ce qu'il faut faire dans ce genre de cas:
    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
     
        public void actionPerformed(ActionEvent e) {
            Main.frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            Thread monThread = new Thread() {
                public void run() {
                    // sleep(2000);
                    Thread.sleep(5000);
                    SwingUtilities.invokeLater(new Runnable() {
     
                        @Override
                        public void run() {
                            Main.frame.setCursor(Cursor.getDefaultCursor());
                        }
                    });
     
                }
            };
            monThread.start();
        }
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #25
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par sinok Voir le message
    Attention à quand même exécuter les actions Swing dans l'EDT.

    Ce qu'il faut faire dans ce genre de cas:
    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
     
        public void actionPerformed(ActionEvent e) {
            Main.frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            Thread monThread = new Thread() {
                public void run() {
                    // sleep(2000);
                    Thread.sleep(5000);
                    SwingUtilities.invokeLater(new Runnable() {
     
                        @Override
                        public void run() {
                            Main.frame.setCursor(Cursor.getDefaultCursor());
                        }
                    });
     
                }
            };
            monThread.start();
        }
    alors tout ca ?

    Citation Envoyé par slim_java Voir le message
    j'ai toujours fais confiance à Java
    mais parfois, c'est un peu compliqué quand même

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Points : 491
    Points
    491
    Par défaut
    alors tout ca ?

    Citation:
    Envoyé par slim_java Voir le message
    j'ai toujours fais confiance à Java
    mais parfois, c'est un peu compliqué quand même
    Ha ca !! c'est pas faux

    Sinon ma question pour faire simple c'est pourquoi avoir besoin d'un thread juste pour changer le curseur de la sourie lors d'une requete BD ou d'un sleep....
    Et aussi lorsque que j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     Main.frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
     
    Thread.currentThread().sleep(2000);
    Pourquoi ca qu'a changé le cursor qu'a la fin du sleep .....

    Attention à quand même exécuter les actions Swing dans l'EDT.
    Merci pour cette précision
    J'ai lue l'excellent article http://gfx.developpez.com/tutoriel/j...ing-threading/, et j'ai presque compris ! Donc à chaque fois qu'on touche aux composant swing, on le fait dans le thread EDT via invokeLater

  7. #27
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut.
    Citation Envoyé par kimjoa Voir le message
    Sinon ma question pour faire simple c'est pourquoi avoir besoin d'un thread juste pour changer le curseur de la sourie lors d'une requete BD ou d'un sleep....
    pour ne pas bloquer l'EDT

  8. #28
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Points : 491
    Points
    491
    Par défaut
    ok merci!

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 14h33
  4. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 15h19
  5. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 13h24

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