Reply – Re: Blank Window - Porting Joe Groff's OpenGL Tutorial to JOGL
Your Name
Subject
Message
or Cancel
In Reply To
Re: Blank Window - Porting Joe Groff's OpenGL Tutorial to JOGL
— by gouessej gouessej
Add the GLEventListener to the canvas before adding the canvas to the frame; once the canvas is in the frame, call setVisible(true). Please test this (it works on my machine):

package org.maoni.jogl.test;

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;

import com.jogamp.opengl.util.Animator;
import com.jogamp.opengl.util.Animator;


public class JOGLTest {
       
        public static void main(String args[]) {
                GLProfile.initSingleton();
                GLCapabilities caps = new GLCapabilities(null);
                System.out.println("Created JOGL context successfully.");
                GLCanvas canvas = new GLCanvas(caps);
               
                Frame frame = new Frame("AWT Window Test");
                frame.setSize(800, 600);
                //FIXME: not sure that your window listener will be called...
                frame.addWindowListener(new Closer());

                SwingUtilities.invokeLater(new Runnable() {
                       @Override
                       public void run() {
                              canvas.addGLEventListener(new SimpleScene());
                              frame.add(canvas);
                              Animator animator = new FPSAnimator(canvas);
                              animator.start();
                      }
                });
                frame.setVisible(true);
        }
       
        static class Closer extends WindowAdapter {
                public void windowClosing (WindowEvent event) {
                        System.exit(0);
                }
        }
}
Julien Gouesse | Personal blog | Website