GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());
GLCanvas canvas = new GLCanvas();
  public static void main(String[] args) {    boolean startSlow = false;    if (args.length > 1) {      usage();    }    if (args.length == 1) {      if (args[0].equals("-slow")) {        startSlow = true;      } else {        usage();      }    }    GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());    VertexArrayRange demo = new VertexArrayRange();    if (startSlow) {      demo.setFlag('v', false);   // VAR off    }    canvas.addGLEventListener(demo);    final Animator animator = new Animator(canvas);    animator.setRunAsFastAsPossible(true);    demo.setDemoListener(new DemoListener() {        public void shutdownDemo() {          runExit(animator);        }        public void repaint() {}      });    Frame frame = new Frame("Very Simple NV_vertex_array_range demo");    frame.addWindowListener(new WindowAdapter() {        public void windowClosing(WindowEvent e) {          runExit(animator);        }      });    frame.setLayout(new BorderLayout());    canvas.setSize(800, 800);    frame.add(canvas, BorderLayout.CENTER);    frame.pack();    frame.show();    canvas.requestFocus();    animator.start();  }