<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>JOGL NEWT JNLP Applet Runner - GearsES2 - normal</title>
</head>
<body  BGCOLOR="#ffffff">

<P>
In case your <a href="https://jdk6.dev.java.net/plugin2/jnlp/">Java Plugin supports JNLP</a>, 
the <em>jogl-applet-runner-newt.jnlp</em> is used, 
otherwise it shall fallback to <a href="http://jogamp.org/applet-launcher/www/">JNLPAppletLauncher</a>.
</P>

<P>
Note that it is important for the startup time to have the same JVM arguments in the applet tags,
as well as within the JNLP applet description, here see property <em>sun.java2d.noddraw</em>. <br>
Only if JVM arguments of the JNLP applet description are satisfied by the applet tag's JVM,<br>
the plugin will not need to start a new JVM. OF course, the applet tag's JVM spec may exceed the
JNLP applet's one.
</P>

<P>
JOGL NEWT JNLP Applet Runner Special Keys:<br>
<ul>
    <li> d - toggle decoration </li>
    <li> f - toggle fullscreen </li>
    <li> r - in/out browser window </li>
    <li> a - on/off always-on-top </li>
</ul>
</P>

<P>
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
      width="200" height="200">
   <param name="code" value="org.jdesktop.applet.util.JNLPAppletLauncher">
   <param name="archive" value="jar/applet-launcher.jar,
                                jar/gluegen-rt.jar,
                                jar/jogl.all.jar,
                                jar/junit.jar,
                                jar/jogl.test.jar">
   <param name="codebase_lookup" value="false">
   <param name="subapplet.classname" value="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run">
   <param name="subapplet.displayname" value="JOGL GearsES2 Applet">
   <param name="noddraw.check" value="true">
   <param name="progressbar" value="true">
   <param name="jnlpNumExtensions" value="1">
   <param name="jnlpExtension1" value="jogl-all-awt.jnlp">
   <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
   <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2">
   <param name="gl_profile" value="GL2ES2">
   <param name="gl_swap_interval" value="1">
   <param name="gl_debug" value="false">
   <param name="gl_trace" value="false">
   <param name="jnlp_href" value="jogl-applet-runner-newt.jnlp">
   <comment>
     <embed code="org.jdesktop.applet.util.JNLPAppletLauncher"
          width="200" height="200"
          type="application/x-java-applet;version=1.6"
          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
          archive="jar/applet-launcher.jar,
                   jar/gluegen-rt.jar,
                   jar/jogl.all.jar,
                   jar/junit.jar,
                   jar/jogl.test.jar"
          codebase_lookup" value="false"
          subapplet.classname="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
          subapplet.displayname="JOGL GearsES2 Applet"
          noddraw.check="true"
          progressbar="true"
          jnlpNumExtensions="1"
          jnlpExtension1="jogl-all-awt.jnlp"
          java_arguments="-Dsun.java2d.noddraw=true"
          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
          gl_profile="GL2ES2"
          gl_swap_interval="1"
          gl_debug="false"
          gl_trace="false"
          jnlp_href="jogl-applet-runner-newt.jnlp">
        <noembed>Sorry, no Java support detected.</noembed>
     </embed>
   </comment>
</object>

</P>

<P>

The applet above is instantiated with the following code:

<pre>
&lt;object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
      width="200" height="200"&gt;
   &lt;param name="code" value="org.jdesktop.applet.util.JNLPAppletLauncher"&gt;
   &lt;param name="archive" value="jar/applet-launcher.jar,
                                jar/gluegen-rt.jar,
                                jar/jogl.all.jar,
                                jar/junit.jar,
                                jar/jogl.test.jar"&gt;
   &lt;param name="codebase_lookup" value="false"&gt;
   &lt;param name="subapplet.classname" value="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"&gt;
   &lt;param name="subapplet.displayname" value="JOGL GearsES2 Applet"&gt;
   &lt;param name="noddraw.check" value="true"&gt;
   &lt;param name="progressbar" value="true"&gt;
   &lt;param name="jnlpNumExtensions" value="1"&gt;
   &lt;param name="jnlpExtension1" value="jogl-all-awt.jnlp"&gt;
   &lt;param name="java_arguments" value="-Dsun.java2d.noddraw=true"&gt;
   &lt;param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"&gt;
   &lt;param name="gl_profile" value="GL2ES2"&gt;
   &lt;param name="gl_swap_interval" value="1"&gt;
   &lt;param name="gl_debug" value="false"&gt;
   &lt;param name="gl_trace" value="false"&gt;
   &lt;param name="jnlp_href" value="jogl-applet-runner-newt.jnlp"&gt;
   &lt;comment&gt;
     &lt;embed code="org.jdesktop.applet.util.JNLPAppletLauncher"
          width="200" height="200"
          type="application/x-java-applet;version=1.6"
          pluginspage="http://java.sun.com/javase/downloads/ea.jsp"
          archive="jar/applet-launcher.jar,
                   jar/gluegen-rt.jar,
                   jar/jogl.all.jar,
                   jar/junit.jar,
                   jar/jogl.test.jar"
          codebase_lookup" value="false"
          subapplet.classname="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
          subapplet.displayname="JOGL GearsES2 Applet"
          noddraw.check="true"
          progressbar="true"
          jnlpNumExtensions="1"
          jnlpExtension1="jogl-all-awt.jnlp"
          java_arguments="-Dsun.java2d.noddraw=true"
          gl_event_listener_class="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"
          gl_profile="GL2ES2"
          gl_swap_interval="1"
          gl_debug="false"
          gl_trace="false"
          jnlp_href="jogl-applet-runner-newt.jnlp"&gt;
        &lt;noembed&gt;Sorry, no Java support detected.&lt;/noembed&gt;
     &lt;/embed&gt;
   &lt;/comment&gt;
&lt;/object&gt;

</pre>

Where the referenced JNLP file <em>jogl-applet-runner-newt.jnlp</em> looks as follow:

<pre>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;jnlp codebase="http://jogamp.org/deployment/jogamp-current" href="jogl-applet-runner-newt.jnlp" version="v2.0-rc3"&gt;
  &lt;information&gt;
    &lt;title&gt;JOGL JNLP Applet Runner NEWT&lt;/title&gt;
    &lt;vendor&gt;JogAmp Community&lt;/vendor&gt;
    &lt;homepage href="http://jogamp.org/"/&gt;
    &lt;description&gt;JOGL JNLP Applet Runner NEWT&lt;/description&gt;
    &lt;offline-allowed/&gt;
  &lt;/information&gt;
  &lt;update check="background" policy="always"/&gt;

    &lt;resources&gt;
      &lt;j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/&gt;
      &lt;property name="sun.java2d.noddraw" value="true"/&gt;
      &lt;jar href="jar/jogl.test.jar" main="true"/&gt;
      &lt;jar href="jar/junit.jar" /&gt;
      &lt;extension name="jogl-all-awt" href="http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp" /&gt;
    &lt;/resources&gt;

  &lt;applet-desc 
      name="JOGLNewtApplet1Run-Applet"
      main-class="com.jogamp.newt.awt.applet.JOGLNewtApplet1Run"
      width="200" 
      height="200"&gt;
  &lt;/applet-desc&gt;
&lt;/jnlp&gt;
</pre>

</P>
<P>

Note that the jogl.test.jar, which contains the test applet class,
<B>does not need to be signed</B>! JogAmp Community signs
applet-launcher.jar, jogl.jar and gluegen-rt.jar, which contain the
JNLPAppletLauncher and JOGL's supporting classes; this is the only
Java code which needs to be signed in order to deploy applets using
JOGL and is the only certificate the end user must accept.

</P>
<P>

The <a href="http://jogamp.org/applet-launcher/www/">JNLPAppletLauncher
home page</a> contains more information about what files must be
placed on the web server in order to enable the deployment of applets
using JOGL and other extensions.

</P>

</body>
</html>