validateTree dans Java 7.x ne fonctionne pas (dans la version 6 de Java.x était très bien)

Ma version de java est:

Plug-in Java 10.3.1.255 Utilisation de la version JRE 1.7.0_03-b05 Java HotSpot(TM) Client VM

Alors, quand j'avais la version 6.x tout allait bien, après la mise à niveau, j'ai obtenu ceci:

 Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Cette fonction doit être appelée tout en maintenant treeLock 
à java.awt.Composante.checkTreeLock(Composant.java:1196) 
à java.awt.Le conteneur.validateTree(Récipient.java:1682) 
au pl.enregistreur.ScenarioWindow.showUploadPanel(PlayerWindow.java:721) 
au pl.enregistreur.actions.UploadFilesAction.execute(DesignFilesAction.java:71) 
au pl.enregistreur.actions.EndTestAction.actionPerformed(EndTestAction.java:91) 
au javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) 
au javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) 
au javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
au javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
au javax.swing.plaf.de base.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) 
à java.awt.Composante.processMouseEvent(Composant.java:6505) 
au javax.swing.JComponent.processMouseEvent(JComponent.java:3321) 
à java.awt.Composante.processEvent(Composant.java:6270) 
à java.awt.Le conteneur.processEvent(Récipient.java:2229) 
à java.awt.Composante.dispatchEventImpl(Composant.java:4861) 
à java.awt.Le conteneur.dispatchEventImpl(Récipient.java:2287) 
à java.awt.Composante.dispatchEvent(Composant.java:4687) 
à java.awt.LightweightDispatcher.retargetMouseEvent(Récipient.java:4832) 
à java.awt.LightweightDispatcher.processMouseEvent(Récipient.java:4492) 
à java.awt.LightweightDispatcher.dispatchEvent(Récipient.java:4422) 
à java.awt.Le conteneur.dispatchEventImpl(Récipient.java:2273) 
à java.awt.De la fenêtre.dispatchEventImpl(Fenêtre.java:2713) 
à java.awt.Composante.dispatchEvent(Composant.java:4687) 
à java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) 
à java.awt.EventQueue.l'accès$000(EventQueue.java:101) 
à java.awt.EventQueue$3.exécuter(EventQueue.java:666) 
à java.awt.EventQueue$3.exécuter(EventQueue.java:664) 
à java.de sécurité.AccessController.doPrivileged(Native method) 
à java.de sécurité.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
à java.de sécurité.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) 
à java.awt.EventQueue$4.exécuter(EventQueue.java:680) 
à java.awt.EventQueue$4.exécuter(EventQueue.java:678) 
à java.de sécurité.AccessController.doPrivileged(Native method) 
à java.de sécurité.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
à java.awt.EventQueue.dispatchEvent(EventQueue.java:677) 
à java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) 
à java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) 
à java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) 
à java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) 
à java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) 
à java.awt.EventDispatchThread.exécuter(EventDispatchThread.java:90) 

J'ai changé validateTree() à validate() et de surprise 😉 - tout fonctionne bien, mais je ne sais pas si ce changement va travailler aussi sur la version 6 de java.x (je suppose que non). Comment je peux changer ce code fonctionne en Java 6x et 7x.

Quel est le code? Voir aussi Initial Threads.

OriginalL'auteur user1276830 | 2012-03-18