I get the same result as you when I run this tutorial. The window is blank unless I put these lines at the bottom of the main method:
FPSAnimator animator = new FPSAnimator(canvas, 60);
Without these lines, the render() method is never called, because the canvas doesn't recieve any events that it can pass on to the SimpleScene.
You can also do canvas.display() at the end of your main method, but that only shows you the triangle for a moment -- it seems to be auto-flipping. I'm not sure why it acts different on Justin's machine -- maybe he'll see this and comment. I usually use SWT instead of AWT so I'm not an expert in this area.
Strange. I'll have to update the tutorial if this is true. I did test this on a couple different machines with different operating systems (Mac, Windows, Linux) and GPUs. Maybe something has changed in the JOGL releases; I'm not really sure.
Why did it work for me? The reshape method should trigger a call to the display method last time I checked. At least on my machine, reshape is actually called while the window / frame and its decorations are set up (without user interaction). If you resize the window that pops up, does it show a triangle then?
To show this, put a System.out.println("reshape called"); inside the reshape method, and another similar print statement in the display method. You should see something like this:
I also tried this on Linux (CentOS 5.4 x86_64) and got the same results, with an extra twist -- you can't shut the app down by clicking the close box or clicking "stop" in Eclipse. I have to "kill -KILL" it from the command line.
When I comment out all the JOGL stuff and just leave the AWT frame, it works fine. But commenting in even the single command "GLProfile.initSingleton()" brings back the bad behavior.
I also checked the ability to add a mouse listener to the frame -- if JOGL is commented in, it receives no messages, but with JOGL commented out it works fine.
I'll work up a bug report on this later; I need to try a few more things to be sure what's going on.