Login  Register

Java3D+Javafx doesn't work on Java 14

Posted by runiter on Jun 09, 2020; 4:52am
URL: https://forum.jogamp.org/Java3D-Javafx-doesn-t-work-on-Java-14-tp4040679.html

Hi,
I built a UI in Javafx and embedded a swing panel that contains Java3D JCanvas.
This configuration works great in Java 8 but in Java 14 I get these exceptions:

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 1
        at jogl.all/jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:171)
        at jogl.all/com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
        at j3dcore/org.jogamp.java3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8704)
        at j3dcore/org.jogamp.java3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8435)
        at j3dcore/org.jogamp.java3d.Renderer.doWork(Renderer.java:497)
        at j3dcore/org.jogamp.java3d.J3dThread.run(J3dThread.java:271)

DefaultRenderingErrorListener.errorOccurred:
GRAPHICS_CONFIG_ERROR: Renderer: Error in GraphicsConfigTemplate3D.getBestConfiguration()
graphicsDevice = D3DGraphicsDevice[screen=0]
Exception in thread "Thread-9" java.lang.NullPointerException: Canvas3D: null GraphicsConfiguration
        at j3dcore/org.jogamp.java3d.Canvas3D.checkForValidGraphicsConfig(Canvas3D.java:946)
        at j3dcore/org.jogamp.java3d.Canvas3D.<init>(Canvas3D.java:1015)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D$InternalCanvas3D.<init>(JCanvas3D.java:672)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D.createCanvas(JCanvas3D.java:323)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D.ancestorAdded(JCanvas3D.java:254)
        at java.desktop/javax.swing.AncestorNotifier.fireAncestorAdded(AncestorNotifier.java:86)
        at java.desktop/javax.swing.AncestorNotifier.propertyChange(AncestorNotifier.java:223)
        at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)
        at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333)
        at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)
        at java.desktop/java.awt.Component.firePropertyChange(Component.java:8732)
        at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4784)
        at java.desktop/java.awt.Container.addImpl(Container.java:1146)
        at java.desktop/java.awt.Container.add(Container.java:436)
        at GraphingCalculator3D/runiter.grapher.MainApplication.lambda$start$3(MainApplication.java:124)
        at java.base/java.lang.Thread.run(Thread.java:832)

Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D