Pregunta

Como el título dice actualmente tratando de utilizar JNLP como un medio de poner en marcha un applet Java 3D con dependenices para cualquier usuario que no puede tener Jave3D instalado en su sistema. Desafortunadamente conseguir un error que ver con el valor 'subapplet.classname' no se encuentra, mientras que los intentos para lanzar el applet ..

Este problema se ve agravado por el hecho de que el ejemplo suministrado en el sitio web java.net FourByFour demo no funciona y no funciona con el mismo problema de clase no encontrado.

Java JNLP página web con Cuatro por Cuatro Demostración:

java.net FourByFour demostración

han tratado con ambos navegadores Firefox y IE con ninguna diferencia ..

Muestra del código utilizado en el sitio web java.net:

<applet code="org.jdesktop.applet.util.JNLPAppletLauncher"
        width=800 height=400
        archive="http://download.java.net/media/java3d/webstart/test/j3d-examples.jar,
                 http://download.java.net/media/applet-launcher/applet-launcher.jar,
                 http://download.java.net/media/java3d/webstart/release/j3d/latest/j3dcore.jar,
                 http://download.java.net/media/java3d/webstart/release/j3d/latest/j3dutils.jar,
                 http://download.java.net/media/java3d/webstart/release/vecmath/latest/vecmath.jar,
                 http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar,
                 http://download.java.net/media/gluegen/webstart/gluegen-rt.jar">
    <param name="codebase_lookup" value="false">
    <param name="subapplet.classname" value="org.jdesktop.j3d.examples.four_by_four.FourByFour">
    <param name="subapplet.displayname" value="Java 3D Four by Four Applet">
    <param name="jnlpNumExtensions" value="1">
    <param name="jnlpExtension1" value="http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp">
    <param name="progressbar" value="true">
    <param name="noddraw.check" value="true">
</applet>
¿Fue útil?

Solución

los ejemplos de applets de Java 3D todavía utilizan el 'org.jdesktop.applet.util.JNLPAppletLauncher'. Desde JRE 1.6.0_21-Version-b07 este lanzador no funciona correctamente y ya no se mantiene.

Tras el 'El Tutorial de Java: Implementación con la etiqueta applet' h ttp: Me //download-llnw.oracle.com/javase/tutorial/deployment/applet/html.html cambió a la etiqueta applet y una correspondiente jnlp-archivo en mis páginas web. Esto requiere JRE 6u10 +. El siguiente ejemplo es en vivo y se puede iniciar desde aquí:

Applet incl. carga de Java 3D

<applet codebase="webstart/" width="1200" height="800" align="middle">
 <param name="jnlp_href" value="propellerUniverseAPP1.0_J3D.jnlp">
</applet>

JNLP

<?xml version="1.0" encoding="UTF-8"?>
<!-- InteractiveMesh.org TestSpace PropellerUniverse 1.0 Applet J3D -->

<jnlp spec="1.0+" codebase="http://www.interactivemesh.org/testspace/webstart/" 
    href="propellerUniverseAPP1.0_J3D.jnlp">
    <information>
        <title>PropellerUniverse 1.0</title>
        <vendor>InteractiveMesh</vendor>
        <homepage href="http://www.interactivemesh.org/index.html"/>
        <description>PropellerUniverse 1.0</description>
        <!-- icon href=""/ -->
    </information>

    <security> </security>

    <update check="always" policy="always"/>

    <resources>
        <j2se version="1.6+"/>
        <extension href="http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp"/>
        <jar href="propellerUniverse1.0.jar" main="true"/>
        <jar href="jim_j3d-vrml97_v2.1.jar"/>
        <jar href="orbitbehaviorinterim2.1.jar"/>
        <property name="sun.awt.noerasebackground" value="true"/>  
        <property name="sun.awt.erasebackgroundonresize" value="true"/>  
        <property name="sun.java2d.noddraw" value="true"/>  
    </resources>
    <applet-desc  main-class="com.interactivemesh.j3d.testspace.canvas3d.PropellerUniverseJApplet"
                  width="1200" height="800" name="PropellerUniverse">
    </applet-desc>
</jnlp>

Ver también:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top