2011-02-12 4 views
1

Je suis vraiment abasourdi ici (ou peut-être juste "stupide"). Je construis une simple application Java Swing sur mon Mac relativement récent en utilisant la bibliothèque JRE System Library (contenu JVM (MacOS X par défaut), Hibernate 3.0 et MigLayout avec Eclipse Helios.) Les choses allaient bien jusqu'à ce que je commence à voir les messages d'erreur suivants qui empêche l'interface graphique de même rendu__NSAutoreleaseNoPool Jeté dans SWING Application

2011-02-12 09:40:27.842 java[809:903] [Java CocoaComponent compatibility mode]: Enabled 
2011-02-12 09:40:27.843 java[809:903] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000 
2011-02-12 09:41:08.355 java[809:903] *** __NSAutoreleaseNoPool(): Object 0x1001575c0 of class NSConcreteMapTableValueEnumerator autoreleased with no pool in place - just leaking 

les deux premières lignes sont jetées quand j'instancier un JButton en utilisant ce code simple:.

private JButton button = new JButton(); 

la dernière ligne est lancée à la fin de l'appel de mon contrôleur constructeur dans Main()

public static void main(String[] args) { 

     // Creates a model of the system logic. 
    LeapsAndBoundsModel model = new LeapsAndBoundsModel(); 

     // Creaties a view for the system logic. 
    LeapsAndBoundsView leapsAndBoundsView = new LeapsAndBoundsView(); 

     // Creates a controller that links the two. 
    LeapsAndBoundsController controller = new LeapsAndBoundsController(model, leapsAndBoundsView); 
     } 

J'ai étudié ce problème et trouvé beaucoup de personnes qui ont le même problème, mais presque toutes codent avec l'application CocoaComponent pour iPhone. Il s'agit d'une interface graphique simple qui utilise Hibernate pour conserver les informations dans une base de données Derby localisée.

J'ai essayé à la fois les suggestions suivantes sans succès:

//Set the CocoaComponent CompatibilityMode to "False" 
System.setProperty("com.apple.eawt.CocoaComponent.CompatibilityMode", "false"); 

// Use the "invokeLater" method within Main() construct 
     SwingUtilities.invokeLater(new Runnable() { 

      public void run() { 
       doIt(); 
      }  
     }); 

Toute aide serait grandement apprécié.

+0

Pouvez-vous publier un exemple de code autonome complet qui génère cette erreur? Juste une seule classe avec une méthode principale qui crée un JFrame et ajoute le JButton et tout ce qui est nécessaire pour générer les messages d'erreur. Cela nous aidera à trouver et à résoudre le problème plus facilement. –

Répondre