J'ai (ce que je pensais) une BufferStrategy simple pour un JFrame. Il est créé comme ceci:"Tampons n'ont pas été créés" ... tout en créant des tampons
// Buffer
container.createBufferStrategy(2);
strategy = container.getBufferStrategy();
Cependant, je reçois occassionally l'erreur suivante (qui pointe vers la première ligne de l'extrait de l'élément comme précédente incriminé):
java.lang.IllegalStateException: buffers n'ont pas été créés
Cette erreur est particulière car elle va et vient - parfois elle est déclenchée, parfois non. Je suspect cela signifie que c'est un problème de threading. Est-ce que quelqu'un a des indications sur ce qui pourrait se passer ici? Je suis un peu perplexe, puisque j'essaie déjà de faire ce que Java me dit de faire!
modifier: trace complète:
Exception in thread "main" java.lang.IllegalStateException: Buffers have not been created
at sun.awt.windows.WComponentPeer.getBackBuffer(WComponentPeer.java:877)
at java.awt.Component$FlipBufferStrategy.getBackBuffer(Component.java:3815)
at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Component.java:3800)
at java.awt.Component$FlipBufferStrategy.createBuffers(Component.java:3791)
at java.awt.Component$FlipBufferStrategy.<init>(Component.java:3730)
at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Component.java:4253)
at java.awt.Component.createBufferStrategy(Component.java:3612)
at java.awt.Window.createBufferStrategy(Window.java:3015)
at java.awt.Component.createBufferStrategy(Component.java:3536)
at java.awt.Window.createBufferStrategy(Window.java:2990)
ajouter une trace S'il vous plaît complète de la pile à votre question - il devrait aider à savoir * qui * méthode est de lancer l'ISE. J'ai regardé les sources jre (1.7) mais je n'ai pas trouvé de source potentielle pour cette exception. –
Est-ce vraiment la trace de la pile complète? Nous recherchons des preuves que vous appelez de l'EDT. Allez-y et montrez la trace de la pile * full *. –
@Kevin Day, 'Exception dans le fil" principal "' suggère que ce n'est pas de l'EDT. – finnw