SwingUtilities.invokeLater

Ma question est liée à SwingUtilities.invokeLater. Quand devrais-je utiliser? Dois-je utiliser chaque fois que j'ai besoin pour mettre à jour les composants de l'interface utilisateur? Que faut-il faire exactement? Est-il une alternative depuis son n'est pas intuitive et ajoute apparemment inutiles code?

  • C'est l'équivalent de Control.BeginInvoke.
  • Est-ce à dire si j'ai un thread je n'ai pas à l'utiliser?
  • Depuis le Swing cadres engendre un thread qui lui est propre (la HAE), vous aurez toujours ce thread. (Vous n'avez pas de message "vérification"-boucle qui traite l'utilisateur clique sur etc, non? Alors, comment ne les différentes actionPerformed méthodes appelées? Par l'EDT!) Donc quand vous dites que vous avez un thread, j'aurais à intepret que car vous n'avez que l'EDT (c'est à dire, vous avez jeté un GUI et est tombé sur le bord de la méthode main). Dans ce cas, NON, vous n'aurez pas besoin d'utiliser invokeLater. Toutefois, vous ne serez pas en mesure de faire une "arrière-plan" de traitement. Si vous le faites, vous allez verrouiller l'interface graphique complètement...
  • double possible de Ce n'SwingUtilities.invokeLater faire?
InformationsquelleAutor FadelMS | 2011-08-25