Ich sehe manchmal die folgende Stacktrace Tests mit UISpec4j gebaut laufenClasscast mit UISpec4j
java.lang.ClassCastException: org.uispec4j.interception.toolkit.Empty$DummyGraphics2D cannot be cast to sun.java2d.SunGraphics2D
at java.awt.Component$BltBufferStrategy.getDrawGraphics(Component.java:4348)
at javax.swing.BufferStrategyPaintManager.prepare(BufferStrategyPaintManager.java:522)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:276)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
at javax.swing.JComponent.paintImmediately(JComponent.java:4990)
at javax.swing.AbstractButton.doClick(AbstractButton.java:371)
...
Die Ursache scheint eine niedergeschlagenen statt java.awt.Graphics2D zu SunGraphics2D tun ungezogen JDK Code zu sein in java.awt.Component.BltBufferStrategy.getDrawGraphics()
/**
* @return the draw graphics
*/
public Graphics getDrawGraphics() {
revalidate();
Image backBuffer = getBackBuffer();
if (backBuffer == null) {
return getGraphics();
}
SunGraphics2D g = (SunGraphics2D)backBuffer.getGraphics();
g.constrain(-insets.left, -insets.top,
backBuffer.getWidth(null) + insets.left,
backBuffer.getHeight(null) + insets.top);
Mache ich etwas falsch, da ich sonst nirgendwo Hinweise finden kann ..?
Problemumgehungen? Alles, was ich denken kann, ist, die Ausnahme in meinem Test zu schlucken, nicht ideal.