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 :

invokeLater pour lancer l'app swing? j'ai des doutes


Sujet :

EDT/SwingWorker Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut invokeLater pour lancer l'app swing? j'ai des doutes
    Bonjour
    sans doute un sujet qui a été archi-rebattu sur ce forum (mais j'ai pas bien trouvé avec la fonction recherche).

    Un doute m'habite: sur de nombreux exemples (y compris dans le java tutorial)
    le lancement d'une application swing (créer la renêtre racine, pack(), setVisible()) se fait au sein d'un invokeLater.

    bon .... j'ai des doutes sur le bien-fondé de ce principe.
    Quelqu'un peut m'exhiber un exemple très normal d'un code sur lequel
    lancer depuis le thread Main poserait problème? bref d'un code
    courant, très normal qui justifierait l'application systématique de cette recette?
    (je ne ne parle pas ici des autres problèmes qui rendent l'appel à l'EDT nécessaire)

    merci

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par professeur shadoko Voir le message
    Quelqu'un peut m'exhiber un exemple très normal d'un code sur lequel
    lancer depuis le thread Main poserait problème? bref d'un code
    courant, très normal qui justifierait l'application systématique de cette recette?
    (je ne ne parle pas ici des autres problèmes qui rendent l'appel à l'EDT nécessaire)
    Il me semble que l'EDT n'est crée qu'après le premier pack()/setVisible()... donc on pourrait peut-être ne pas créer ses composants dans l'EDT...

    Mais quel intérêt à faire une telle exception ??? Autant tout faire dans l'EDT !



    Enfin comme il s'agit de problème de threading c'est difficilement reproductible...


    a++

  3. #3
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Après moult recherches il y a quelque chose ici :
    http://java.sun.com/products/jfc/tsc.../threads1.html

    moralité (jusqu'à plus ample informé): le lancement systématique d'un Frame dans l'EDT est un peu trop "too much" ....

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par professeur shadoko Voir le message
    moralité (jusqu'à plus ample informé): le lancement systématique d'un Frame dans l'EDT est un peu trop "too much" ....
    Il est juste dit qu'il est possible d'initialiser la première fenêtre en dehors de l'EDT... et que le show()/setVisible() après le pack() pourrait être problématique même si ce n'est pas vraiment le cas en pratique.

    a++

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

Discussions similaires

  1. trigger MSSQL pour lancer une app
    Par olibara dans le forum C#
    Réponses: 10
    Dernier message: 24/02/2011, 23h06
  2. [javac] code pour lancer la compilation des classes
    Par viena dans le forum Général Java
    Réponses: 6
    Dernier message: 19/07/2004, 18h41
  3. Réponses: 2
    Dernier message: 22/04/2004, 14h28
  4. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 10h39

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