Query for Vendor,renderer, extensions etc..

Hello,

does anyone know how to get the glGetString(???)
function to work. When I am rendering a scene I can use it in the display method and System.out.println it to the console window in Eclipse. The problem I am having is that I would like to get all that information without actually showing a GLCanvas. I tried creating a GLCanvas and just calling getGL() but the string method only returned null. Then I created a GLEventListener to get the info. Added the GLEventListener to my GLCanvas and called glCanvas.display(), but my GLEventListener isn’t getting called. Anyone have any thoughts. following is my code

/*
 * Created on Dec 28, 2003
 *
 */

import net.java.games.jogl.*;

/**
 * @author Stephen Johnson
 *
 * 
 */
public class CsConfigurationTesting 
{
      public static void main(String args[])
      {
System.out.println("A");
            GLCapabilities cap = new GLCapabilities();
            System.out.println("B");
            GLCanvas c = GLDrawableFactory.getFactory().createGLCanvas(cap);
            c.setSize(200,200);
            System.out.println("C");
            CsListener l = new CsListener();
            c.addGLEventListener(l);
            c.display();
            System.out.println("Vendor : " + l.strVendor);
            System.out.println("Renderer : " + l.strRenderer);            
      }
}

class CsListener implements GLEventListener
{

      public String strVendor;
      public String strRenderer;

      /* (non-Javadoc)
       * @see net.java.games.jogl.GLEventListener#init(net.java.games.jogl.GLDrawable)
       */
      public void init(GLDrawable drawable) {
            
            
      }

      /* (non-Javadoc)
       * @see net.java.games.jogl.GLEventListener#display(net.java.games.jogl.GLDrawable)
       */
      public void display(GLDrawable drawable) {
                  
            GL gl = drawable.getGL();
            System.out.println("HERE!!!!!!");
            this.strVendor = gl.glGetString(GL.GL_VENDOR);
            this.strRenderer = gl.glGetString(GL.GL_RENDERER);
            
            // TODO Auto-generated method stub
            
      }

      /* (non-Javadoc)
       * @see net.java.games.jogl.GLEventListener#reshape(net.java.games.jogl.GLDrawable, int, int, int, int)
       */
      public void reshape(GLDrawable arg0, int arg1, int arg2, int arg3, int arg4) {
            // TODO Auto-generated method stub
            
      }

      /* (non-Javadoc)
       * @see net.java.games.jogl.GLEventListener#displayChanged(net.java.games.jogl.GLDrawable, boolean, boolean)
       */
      public void displayChanged(GLDrawable arg0, boolean arg1, boolean arg2) {
            // TODO Auto-generated method stub
            
      }
      
}

thanks,
Steve