[java GUI] java.awt.EventQueue.invokeLater

Voir le sujet précédent Voir le sujet suivant Aller en bas

[java GUI] java.awt.EventQueue.invokeLater

Message  jonas le Lun 06 Juin 2011, 21:56

je ne me souviens pas qu'on en ait parlé au cours.... mais la méthode est présente dans le code fournit pour l'exam d'ALG d'une année précédente...

Code:
java.awt.EventQueue.invokeLater(new Runnable() {

         public void run() {
            /* bla bla bla bla */
         }
      });
Si j'ai bien compris, il faut l'utiliser quand on joue avec des Thread et avec une GUI. Encore que l'application fournie pour l'exam n'est pas multi-thread (enfin c'est pas visible si c'est le cas) mais il y a bien une GUI.

Quand [faut-il / est-il conseillé de] l'utiliser ?
Que risque-t-on si on ne l'utilise pas ?

jonas

Nombre de messages : 234
Prénom : Jonathan
Statut : Ancien industrialisé
Localisation : Devant son clavier BÉPO !
Date d'inscription : 29/09/2008

http://www.xax.be

Revenir en haut Aller en bas

Re: [java GUI] java.awt.EventQueue.invokeLater

Message  pbt le Lun 06 Juin 2011, 22:04

Sous Netbeans, crée, non pas une Java class, mais une Java form ... et regarde le code que Netbeans te génère.C'est de là que ça vient ...

Code:
/**
    * Méthode principale générée automatiquement par Netbeans.
    * Inutile de l'utiliser.
    *
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new GameView().setVisible(true);
            }
        });
    }

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [java GUI] java.awt.EventQueue.invokeLater

Message  iCart le Mar 07 Juin 2011, 20:11

API Java a écrit:invokeLater

public static void invokeLater(Runnable runnable)
Causes runnable to have its run method called in the dispatch thread of the EventQueue. This will happen after all pending events are processed.

Si je ne m'abuse, ça fait que le thread (et donc la création de la fenêtre, dans ce cas) est lancé seulement après avoir traité tout les évènements qui doivent encore être traités.

J'imagine que c'est utile, par exemple, pour éviter qu'un évènement du type MousPressEvent soit traité après la création de la fenêtre et s'applique sur le bouton "auto-destruction" de ladite fenêtre au lieu du bouton "soigner le cancer" de la fenêtre qui se trouve maintenant en dessous de l'autre.
Ou quelquechose dans le genre...

iCart

Nombre de messages : 58
Age : 27
Prénom : Sylvain
Statut : Echappé 2013
Date d'inscription : 09/12/2009

Revenir en haut Aller en bas

Re: [java GUI] java.awt.EventQueue.invokeLater

Message  Contenu sponsorisé Aujourd'hui à 15:17


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum