GUI de thread en Java (et SwingUtilities)

Je suis en train de faire un jeu simple en Java à l'aide de swing et je rencontre des problèmes avec mon GUI le gel de façon sporadique (en raison de problèmes de threading plus probablement) après l'appui sur un bouton qui est censé déclencher un interrupteur dans JPanels.

J'ai posté un sujet ici, qui a plus de détails sur le code, je suis en train d'utiliser (bien que j'ai fait la mise à jour du compte à rebours et obtenir que le travail d'amende). À partir des réponses à ce fil, il semble que l'aideSwingUtilities.invokeLater() ou invokeAndWait() pourrait être ce dont j'ai besoin pour résoudre le problème, mais je ne sais pas où dans mon code il est nécessaire ou exactement comment la mettre en œuvre.

Je ne connais pas bien le filetage et pourrait utiliser toute aide (de préférence un peu détaillée et avec des exemples de code) que je peux obtenir. Laissez-moi savoir si d'autres détails pourraient être utiles.

  • Êtes-vous en faveur Thread.sleep(...) sur l'événement thread (HAE)?
  • non, pas plus. J'ai réécrit la partie du code qui a déjà été fait.
  • Pouvez-vous partager votre code de mises à jour de la réponse à la composante?
  • Avez-vous regarde le code que j'ai posté sur la page que j'ai relié à ma question? Qui a, fondamentalement, tout le code qui doit être pertinente à cette question.
  • Si votre GUI se fige, vous pouvez obtenir un thread dump avec jstack (trouver l'ID de processus avec jps), ou à partir de la sonsole ctrl-break (Windows) ou ctrl-3/ctrl-` (IIRC, Linux).
InformationsquelleAutor scaevity | 2012-02-29