Swing Seltsame Exception

filth

Bekanntes Mitglied
Hallo zusammen,

ich bekomme die folgende Exception, die mir nichts sagt:

Java:
Date: Sun Dec 19 22:40:05 CET 2010
You crashed thread AWT-EventQueue-0
Exception was: java.lang.ClassCastException: javax.swing.plaf.FontUIResource cannot be cast to com.sun.java.swing.Painter
Trace: --> at com.sun.java.swing.plaf.nimbus.NimbusStyle.getBackgroundPainter(Unknown Source)--> at com.sun.java.swing.plaf.nimbus.SynthPainterImpl.paintBackground(Unknown Source)--> at com.sun.java.swing.plaf.nimbus.SynthPainterImpl.paintPanelBackground(Unknown Source)--> at javax.swing.plaf.synth.SynthPanelUI.update(Unknown Source)--> at javax.swing.JComponent.paintComponent(Unknown Source)--> at javax.swing.JComponent.paint(Unknown Source)--> at nightClient.Image.ImgShowComponent.paint(ImgShowComponent.java:183)--> at javax.swing.JComponent.paintToOffscreen(Unknown Source)--> at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)--> at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)--> at javax.swing.RepaintManager.paint(Unknown Source)--> at javax.swing.JComponent._paintImmediately(Unknown Source)--> at javax.swing.JComponent.paintImmediately(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)

Ich kann gerade überhaupt nichts damit anfangen. Hat jemand eine Idee?

Danke!
 
Sorry, dass ich nochmal frage. Aber evtl jemand noch eine Idee?
Es scheint keine Auswirkungen auf den Programmablauf zu haben, finde es aber unschön, wenn Exceptions geworfen werden.

Geworfen wird die in einer Klasse, die von JPanel ableitet und zwar bei dem super.paint(g) Aufruf.
Die Exception tritt immer nur dann auf, wenn diese Objekte auf die GUI gezeichnet werden. Gleichzeitig wird aus einem anderen Thread eine JProgressbar auf der GUI verändert. Ist das evtl in irgendeiner Form das Problem?

Java:
	public void paint( Graphics g )
	{	  
		super.setBackground(new java.awt.Color(37, 81, 95));
		super.paint(g);
		super.setBorder(BorderFactory.createCompoundBorder(new LineBorder(new java.awt.Color(21,60,70), 1, true),null));
		g.drawImage( myThumb, 5, 5, this );		
	}
 
Du solltest auch nicht die
Code:
paint()
-Methode überschreiben, sondern
Code:
paintComponent()
. Versuche das einmal, vielleicht hilft es ja ... auch wenn ich den Zusammenhang gerade nicht sehe.
Weiterhin weiß ich nicht, ob es so toll ist, wenn du jedes Mal beim Zeichnen eine neue Border erstellst, aber das nur am Rande.

Ansonsten könntest du die Zeilen in
Code:
paint()
(bzw.
Code:
paintComponent()
😉 ) wahlweise auskommentieren und somit prüfen, welche Zeile für die Exception verantwortlich ist.
 

Zurück
Oben