Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Emulator entwickeln macht ja Freude, aber auch Leid ;-)

Ich habe da ein Problem festgestellt, welches in meinem JavaCPC Emulator auftritt, wenn ich den zu emulierenden Computer wechsele:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Buffers have not been created

	at sun.awt.windows.WComponentPeer.getBackBuffer(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.getBackBuffer(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.getDrawGraphics(Unknown Source)

	at javax.swing.BufferStrategyPaintManager.prepare(Unknown Source)

	at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)

	at javax.swing.RepaintManager.paint(Unknown Source)

	at javax.swing.JComponent.paint(Unknown Source)

	at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)

	at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)

	at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)

	at java.awt.Container.paint(Unknown Source)

	at javaxDisplay Lost Focus

.swing.RepaintManager.paintDirtyRegions(Unknown Source)

	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

	at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)

	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)

	at java.awt.event.InvocationEvent.dispatch(Unknown Source)

	at java.awt.EventQueue.dispatchEvent(Unknown Source)

	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

	at java.awt.EventDispatchThread.run(Unknown Source)

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Buffers have not been created

	at sun.awt.windows.WComponentPeer.getBackBuffer(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.getBackBuffer(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)

	at java.awt.Component$FlipBufferStrategy.getDrawGraphics(Unknown Source)

	at javax.swing.BufferStrategyPaintManager.prepare(Unknown Source)

	at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)

	at javax.swing.RepaintManager.paint(Unknown Source)

	at javax.swing.JComponent.paint(Unknown Source)

	at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)

	at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)

	at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)

	at java.awt.Container.paint(Unknown Source)

	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

	at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)

	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)

	at java.awt.event.InvocationEvent.dispatch(Unknown Source)

	at java.awt.EventQueue.dispatchEvent(Unknown Source)

	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

	at java.awt.EventDispatchThread.run(Unknown Source)

Leider geht von dieser Fehlermeldung keinerlei Anhaltspunkt darauf zurück, wo in meinem Code ein eventueller Fehler sich hat einschleichen können.

Weiss hier jemand Rat?

(Bis auf die Ausgabe dieser Meldung in die JAVA-Konsole hat dieser Fehler allerdings keinerlei Auswirkung, es funktioniert trotzdem alles, wie es soll. Nur so eine Meldung macht sich unschön...)

MfG

Markus

Geschrieben

Scheint nen Fehler zu sein, der in den Java-Klassen an sich auftritt.

Solche Fehler sind mir auch schon häufiger unter gekommen. Häufig liegt es daran, wie du die GUI-Elemente benutzt (ich hatte mal sowas, als ich extrem viele Componenten innerhalb von eigenen Threads hinzugefügt und entfernt habe).

Den Fehler zu finden wird wahrscheinlich nicht wirklich leicht, da er nicht wirklich an dir liegt (du verursachst nur, dass er auftritt). Wenn ich die Fehlermeldung so lese muss ich irgendwie an Double-Buffering denken.

  • 2 Wochen später...
Geschrieben

Ich vermute, dass Deine Anwendung mit mehreren Threads auf die GUI-Komponenten zugreift.

Im Normallfall sollten solche Aufrufe synchronisiert mit dem AWT-Eventthread ablaufen.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...