Maison >Java >javaDidacticiel >Pourquoi mon application JAR Bundler est-elle en retard ou s'arrête-t-elle lors de l'utilisation d'OSXAdapter ?
JAR Bundler utilisant OSXAdapter provoquant un retard ou une fermeture de l'application
Cette question découle de la nécessité d'associer un fichier JAR à un type de fichier spécifique (.jarbundlerproblem) à l'aide de Jar Bundler d'Apple pour OS X. De plus, l'application nécessite la capacité de gérer les fichiers sur lesquels on double-clique et qui sont transmis en tant que arguments.
Pour y parvenir, le développeur a utilisé la bibliothèque OSXAdapter pour gérer les événements liés aux fichiers. Cependant, cette modification a conduit à un comportement incohérent dans l'application. Parfois, il ne s'ouvre pas ou affiche une fenêtre vide pendant une période prolongée.
Analyse et solution :
Le problème vient du potentiel de l'application à bloquer l'événement thread de répartition (EDT) en raison de l'utilisation de 'Thread.sleep()' dans la méthode 'doWork()'. Cela peut empêcher l'interface graphique de répondre pleinement ou même entraîner un retard ou une fermeture de l'application.
Approche recommandée :
Pour résoudre ce problème, il est recommandé de utilisez un SwingWorker ou implémentez l'interface « Runnable » pour effectuer la tâche fastidieuse dans un thread séparé. Cela libérera l'EDT, permettant à l'interface graphique de rester réactive.
Approches alternatives pour JTable à défilement automatique :
Notes supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!