Nach ein paar Stunden zu versuchen, dies auszuarbeiten, bin ich ratlos. Ich bin etwas neu in Java und könnte etwas Hilfe gebrauchen.BufferStrategy Illegal State Exception
Der Stack-Trace:
java.lang.IllegalStateException: Component must have a valid peer
at java.awt.Component$FlipBufferStrategy.createBuffers(Unknown Source)
at java.awt.Component$FlipBufferStrategy.<init>(Unknown Source)
at java.awt.Component$FlipSubRegionBufferStrategy.<init>(Unknown Source)
at java.awt.Component.createBufferStrategy(Unknown Source)
at java.awt.Canvas.createBufferStrategy(Unknown Source)
at java.awt.Component.createBufferStrategy(Unknown Source)
at java.awt.Canvas.createBufferStrategy(Unknown Source)
at com.mime.crystalnova.Display.render(Display.java:148)
at com.mime.crystalnova.Display.run(Display.java:112)
at java.lang.Thread.run(Unknown Source)
Der Fehler erscheint hier mit dieser Codezeile zu sein:
BufferStrategy bs = getBufferStrategy();
if (bs == null) {
createBufferStrategy(3);
return;
}
Das Seltsame ist, dass es mir diese Fehlermeldung beim Debuggen gibt und dann weiter laufen einwandfrei. Es funktioniert auch gut, wenn es über eine ausführbare JAR-Datei gestartet wird.
Liebst du nicht [heisenbugs] (http://en.wikipedia.org/wiki/Heisenbug)? – amit
Ich habe es herausgefunden. Ich habe createBufferStrategy() einfach zu oft aufgerufen. : D – TheElephantSeal
Es könnte auch für zukünftige Leser hilfreich sein. Sobald Sie die Lösung dieses Problems abgeschlossen haben, sollten Sie das Problem genau angeben und wissen, wie Sie es gelöst haben. [als Antwort - es ist nichts falsch, deine eigene Frage zu beantworten, solange es passt und mit gutem Geschmack] – amit