Login  Register

Re: How to enable Gluegen (Java3D) on Java 9

Posted by Predrag Bokšić on Nov 29, 2017; 4:22am
URL: https://forum.jogamp.org/How-to-enable-Gluegen-Java3D-on-Java-9-tp4038338p4038345.html

Hear ye, hear ye, a modified version of the test program works with JDK9. The offending line was:
System.setProperty("sun.java2d.noddraw", "true");

Check out the source.





import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


public class StillCube {


    GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
    Canvas3D c3d = new Canvas3D(config);
    SimpleUniverse su = new SimpleUniverse(c3d);


    StillCube() {
        su.getViewingPlatform().setNominalViewingTransform();
        su.addBranchGraph(getBranchGroup());
        Frame f = new Frame();
        f.setLayout(new BorderLayout());
        Panel p = new Panel(new BorderLayout());
        p.add(BorderLayout.CENTER, c3d);
        f.add(p, BorderLayout.CENTER);
        f.setSize(200, 200);
        f.setVisible(true);
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent windowevent) {
                f.dispose();
                System.exit(0);
            }
        });

    }

    public static void main(String args[]) {
        //System.setProperty("sun.java2d.noddraw", "true");
        System.setProperty("sun.awt.noerasebackground", "true");

        final StillCube stillCube = new StillCube();


    }

    public BranchGroup getBranchGroup() {
        BranchGroup bg = new BranchGroup();
        bg.addChild(new ColorCube(.25));
        bg.compile();
        return bg;
    }
}




"C:\Program Files\Java\jdk\bin\java" --add-exports=java.base/java.lang=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA\lib\idea_rt.jar=30185:C:\Program Files\JetBrains\IntelliJ IDEA\bin" -Dfile.encoding=UTF-8 -classpath E:\idea\java3D_jdk9\project\out\production\project;E:\idea\java3D_jdk9\project\lib\j3dcore.jar;E:\idea\java3D_jdk9\project\lib\j3dutils.jar;E:\idea\java3D_jdk9\project\lib\vecmath.jar;E:\idea\java3D_jdk9\project\lib\experimental\jogamp-fat.jar StillCube
3D [dev] 1.6.0-pre12-daily-experimental daily

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/E:/idea/java3D_jdk9/project/lib/experimental/jogamp-fat.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Process finished with exit code 0