<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>JOGL JNLP Applet Test</title> </head> <body> <P> In case your <a href="https://jdk6.dev.java.net/plugin2/jnlp/">Java Plugin supports JNLP</a>, the <em>applet-gears.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> <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="600" height="400"> <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/jogl-demos.jar"> <param name="codebase_lookup" value="false"> <param name="subapplet.classname" value="demos.applets.GearsApplet"> <param name="subapplet.displayname" value="JOGL Gears 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="jnlp_href" value="applet-gears.jnlp"> <comment> <embed code="org.jdesktop.applet.util.JNLPAppletLauncher" width="600" height="400" 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/jogl-demos.jar" codebase_lookup="false" subapplet.classname="demos.applets.GearsApplet" subapplet.displayname" value="JOGL Gears Applet" noddraw.check" value="true" progressbar="true" jnlpNumExtensions="1" jnlpExtension1="../jogl-all-awt.jnlp" java_arguments="-Dsun.java2d.noddraw=true" jnlp_href="applet-gears.jnlp"> <noembed>Sorry, no Java support detected.</noembed> </embed> </comment> </object> </P> <P> The applet above is instantiated with the following code: <pre> <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="600" height="400"> <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/jogl-demos.jar"> <param name="codebase_lookup" value="false"> <param name="subapplet.classname" value="demos.applets.GearsApplet"> <param name="subapplet.displayname" value="JOGL Gears 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="jnlp_href" value="applet-gears.jnlp"> <comment> <embed code="org.jdesktop.applet.util.JNLPAppletLauncher" width="600" height="400" 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/jogl-demos.jar" codebase_lookup="false" subapplet.classname="demos.applets.GearsApplet" subapplet.displayname" value="JOGL Gears Applet" noddraw.check" value="true" progressbar="true" jnlpNumExtensions="1" jnlpExtension1="../jogl-all-awt.jnlp" java_arguments="-Dsun.java2d.noddraw=true" jnlp_href="applet-gears.jnlp"> <noembed>Sorry, no Java support detected.</noembed> </embed> </comment> </object> </pre> Where the referenced JNLP file <em>applet-gears.jnlp</em> looks as follow: <pre> <?xml version="1.0" encoding="utf-8"?> <jnlp href="applet-gears.jnlp"> <information> <title>JOGL JNLP Applet Gears Demo</title> <vendor>JogAmp Community</vendor> <homepage href="http://jogamp.org/jogl-demos/"/> <description>Gears Demo</description> <description kind="short">Brian Paul's Gears demo ported to Java and JOGL.</description> <offline-allowed/> </information> <resources> <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/> <property name="sun.java2d.noddraw" value="true"/> <jar href="http://jogamp.org/deployment/jogamp-current/jogl-demos/jar/jogl-demos.jar" main="true"/> <jar href="http://jogamp.org/deployment/jogamp-current/jogl-demos/jar/jogl-demos-util.jar"/> <extension name="newt-all-awt" href="http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp" /> </resources> <applet-desc name="Gears-Applet" main-class="demos.applets.GearsApplet" width="640" height="480"> </applet-desc> </jnlp> </pre> </P> <P> Note that the jogl-demos.jar, which contains the GearsApplet 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>