Question

Comme le titre dit en train d'essayer d'utiliser JNLP comme un moyen de lancer une applet avec Java3D dependenices pour tout utilisateur qui ne peuvent pas avoir Jave3D installé sur leur système. Malheureusement, une erreur se faire avec la valeur « subapplet.classname » pas trouvé, alors que l'applet tente de lancer ..

Ce problème est aggravé par le fait que l'exemple fourni sur le site java.net FourByFour Demo ne fonctionne pas et échoue avec le même problème de classe non trouvé.

page Web Java JNLP à quatre par quatre Demo:

java.net FourByFour Démo

ont essayé avec les navigateurs Firefox et IE sans différence ..

Exemple du code utilisé sur le site 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>
Était-ce utile?

La solution

les exemples d'applet Java 3D utilisent encore le 'org.jdesktop.applet.util.JNLPAppletLauncher'. Depuis la version 1.6.0_21-JRE-b07 ce lanceur ne fonctionne pas correctement et ne sera plus maintenue.

Suite à la « Java Tutorial: Avec le déploiement Applet Tag » h ttp: //download-llnw.oracle.com/javase/tutorial/deployment/applet/html.html je suis passé à la balise d'applet et un correspondant jnlp fichier sur mes pages Web. Cela nécessite 6u10 + JRE. L'exemple suivant est en direct et peut être lancé à partir d'ici:

Applet incl. chargement 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>

Voir aussi:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top