Login  Register

The closed API of Java2D/AWT which is currently used by JOGL

Posted by Sergey Bylokhov on Sep 21, 2019; 4:49am
URL: https://forum.jogamp.org/The-closed-API-of-Java2D-AWT-which-is-currently-used-by-JOGL-tp4040068.html

Hello, Everybody.

I working on a Java2D/AWT part of the OpenJDK project and would like to
know which part of the closed API is still used by the  JOGL project. I found
a few places where "sun.java2d.opengl.OGLUtilities" is used, but if I remove
this class from the JDK the JOGL seems still continue work.

If debug mode is enabled then I see some related exceptions like:
java.lang.NoSuchFieldException: PBUFFER
        at java.base/java.lang.Class.getField(Class.java:2000)
        at jogamp.opengl.awt.Java2D$2.run(Java2D.java:574)
        at jogamp.opengl.awt.Java2D$2.run(Java2D.java:569)

see https://bugs.openjdk.java.net/browse/JDK-7188942

Exception in thread "main" java.lang.NoSuchMethodError: 'java.awt.peer.ComponentPeer com.jogamp.opengl.awt.GLCanvas.getPeer()'
        at com.jogamp.opengl.awt.GLCanvas.addNotify(GLCanvas.java:632)
        at java.desktop/java.awt.Container.addNotify(Container.java:2800)
        at java.desktop/java.awt.Window.addNotify(Window.java:777)

see https://bugs.openjdk.java.net/browse/JDK-8074028

Does it mean that JOGL running on jdk11+  does not use OGLUtilities class?