I've recently undertaken a project where I am required to convert a very old (8yrs+) JOGL (what appears to be a pre-1.1.1 version) application to JOGL 2.4 so that it will run without issue on Java 8.
I should specify I am currently running MacOS Mojave 10.14.3 and Java 8u201.
Initially, I had no problem working on this. I was able to include the new JOGL 2.4 library (jogamp-fat.jar from http://jogamp.org/deployment/archive/master/gluegen_910-joal_636-jogl_1474-jocl_1112/fat/) to my project, and just had to change `GL` to `GL2` (and correct some method names from calling their ARB variant to their plain variant).
However, the part of the application where I actually initialize OpenGL seems to be a bit tricky.
The main issue I found was that:
GLDrawableFactory glDrawableFac = GLDrawableFactory.getFactory();
glDrawable = glDrawableFac.getGLDrawable(canvas, glCapabilities, null);
...does not exist in JOGL 2.4.
For all intents and purposes, it *appears* to work. I am able to start the application, but after it loads, the Canvas is white. I can interact with it still (clicking on components and typing yields print statements in the Console), yet of course, this is not what I desire.
At first, there is no JOGL 2.4 yet despite what is printed in the debug output. The latest version available right now is JOGL 2.3.2. You posted a link to a build of JOGL 2.3.2 with a few changes.
Please provide a SSCCE to reproduce your problem.
By the way, your source code violates some important principles. You mustn't store a GL instance into a field because it can get invalidated and you could be tempted to use it either when it's no longer valid or when you're not on the thread on which it's current. Rather use the static method GLContext.getCurrentGL(), use it only when you're sure that the OpenGL context is current, preferably in a GLEventListener.
I advise you to look at my source code as JogAmp's Ardor3D Continuation has to do something similar and JogAmp's Java3D 1.7 too. I remember that something changed in the threading between JOGL 1 and JOGL 2, I had to take that into account when porting Ardor3D from JOGL 1 to JOGL 2.
Thank you for the reply, and thank you for pointing out a flaw in my design.
Unfortunately, I haven't had much time recently to create an SSCCE. However, I've followed your suggestions and want to make sure I am on the right track. The line(s) that I believe may be the culprit are: