-
Bug
-
Resolution: Unresolved
-
P4
-
8, 11, 17, 21, 24, 25
-
generic
-
generic
A DESCRIPTION OF THE PROBLEM :
A Canvas instance calls createBufferStrategy(2) when setting headless=true will trigger a ClassCastException.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java -Djava.awt.headless=true HeadlessCanvas
ACTUAL VS EXPECTED BEHAVIOR :
ACTUAL -
Exception in thread "main" java.lang.ClassCastException: class sun.java2d.HeadlessGraphicsEnvironment cannot be cast to class sun.java2d.SunGraphicsEnvironment (sun.java2d.HeadlessGraphicsEnvironment and sun.java2d.SunGraphicsEnvironment are in module java.desktop of loader 'bootstrap')
at java.desktop/java.awt.Component.createBufferStrategy(Component.java:3878)
at java.desktop/java.awt.Canvas.createBufferStrategy(Canvas.java:201)
at java.desktop/java.awt.Component.createBufferStrategy(Component.java:3808)
at java.desktop/java.awt.Canvas.createBufferStrategy(Canvas.java:176)
at HeadlessCanvas.main(HeadlessCanvas.java:7)
EXPECTED -
IllegalStateException or HeadlessException
---------- BEGIN SOURCE ----------
import java.awt.*;
public class HeadlessCanvas {
public static void main(String args[]) {
Canvas c = new Canvas();
try {
c.createBufferStrategy(2);
} catch (HeadlessException e) {
// Expected behavior
}
}
}
---------- END SOURCE ----------
A Canvas instance calls createBufferStrategy(2) when setting headless=true will trigger a ClassCastException.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java -Djava.awt.headless=true HeadlessCanvas
ACTUAL VS EXPECTED BEHAVIOR :
ACTUAL -
Exception in thread "main" java.lang.ClassCastException: class sun.java2d.HeadlessGraphicsEnvironment cannot be cast to class sun.java2d.SunGraphicsEnvironment (sun.java2d.HeadlessGraphicsEnvironment and sun.java2d.SunGraphicsEnvironment are in module java.desktop of loader 'bootstrap')
at java.desktop/java.awt.Component.createBufferStrategy(Component.java:3878)
at java.desktop/java.awt.Canvas.createBufferStrategy(Canvas.java:201)
at java.desktop/java.awt.Component.createBufferStrategy(Component.java:3808)
at java.desktop/java.awt.Canvas.createBufferStrategy(Canvas.java:176)
at HeadlessCanvas.main(HeadlessCanvas.java:7)
EXPECTED -
IllegalStateException or HeadlessException
---------- BEGIN SOURCE ----------
import java.awt.*;
public class HeadlessCanvas {
public static void main(String args[]) {
Canvas c = new Canvas();
try {
c.createBufferStrategy(2);
} catch (HeadlessException e) {
// Expected behavior
}
}
}
---------- END SOURCE ----------