J'ai le contrôle d'une petite partie d'une application construite sur Eclipse, et j'ai un problème pour créer un DefaultCellEditor. Le code utilise en fait une sous-classe de DefaultCellEditor, mais je peux recréer le problème en utilisant DefaultCellEditor, donc c'est ce que je vais demander, en espérant qu'il va résoudre le problème avec la classe réelle. J'ai essayé ceci avec JDK 1.5 et 1.6, et obtiens le même comportement dans les deux.L'application se bloque en appelant le constructeur DefaultCellEditor
Le problème se produit lorsque le constructeur de DefaultCellEditor est appelé:
log.debug("Trying construction.");
currentCellEditor = new DefaultCellEditor(new JTextField());
log.debug("Constructed OK.");
Lorsque ce code fonctionne, peut-être 20% du temps, les blocages d'applications, et l'unité centrale de traitement est fixé à 100% - On dirait qu'il ya une boucle infinie là-bas quelque part, mais je ne sais pas où. La première ligne de journal est imprimée, mais la seconde ne l'est pas.
J'ai essayé d'effectuer une copie de la classe DefaultCellEditor et d'insérer des instructions System.out.println pour voir si le problème se produit; Pendant les périodes où le code s'exécute correctement, toutes mes instructions de débogage sont imprimées, mais lorsqu'elles ne s'exécutent pas correctement, aucune des instructions n'est imprimée, comme si le blocage se produisait avant l'appel du constructeur. Des idées sur ce qui pourrait arriver?
Vous pouvez effectuer un vidage de thread (contrôle-pause sous Windows) et voir où votre thread est en cours d'exécution ou en attente. –
Comme toujours, assurez-vous que vous utilisez l'AWT EDT. –