2010-11-16 30 views
4

Je suis en train de déployer une Applet avec les nouvelles spécifications Java JNLP, mais je reçois toujours l'erreur suivante par Java Plugin Console:Déploiement Applet avec JNLP

BadFieldException[ Il campo <jnlp><applet-desc>width presenta un valore non valido: 0,0] 

Ceci est mon code HTML:

 <script> 
     var attributes = { id:'signingApplet', code:'it.insielmercato.web.signing.SigningApplet' ,width:0, height:0 } ; 
     var parameters = {jnlp_href: 'signing-applet.jnlp'} ; 
     deployJava.runApplet(attributes, parameters, '1.6'); 
     function setClipboardText(text){ 
      signingApplet.setClipboardContent(text); 
     } 
    </script> 

Ceci est mon code JNLP:

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.5+" codebase="" href=""> 
<information> 
    <title>SigningApplet</title> 
    <vendor>Insielmercato S.P.A.</vendor> 
</information> 
<resources> 
    <!-- Application Resources --> 
    <j2se version="1.6+" 
      href="http://java.sun.com/products/autodl/j2se"/> 
    <jar href="signing-1.0.jar" main="true" /> 
</resources> 
<applet-desc name="Signing Applet" main-class="it.insielmercato.web.signing.SigningApplet" width="0" height="0"> 
</applet-desc> 
<update check="background"/> 
</jnlp> 

Et mon code applet:

package it.insielmercato.web.signing; 

import java.applet.Applet; 
import java.awt.Toolkit; 
import java.awt.datatransfer.Clipboard; 
import java.awt.datatransfer.ClipboardOwner; 
import java.awt.datatransfer.DataFlavor; 
import java.awt.datatransfer.StringSelection; 
import java.awt.datatransfer.Transferable; 
import java.awt.datatransfer.UnsupportedFlavorException; 
import java.io.IOException; 

public class SigningApplet extends Applet implements ClipboardOwner { 

/** 
* 
*/ 
private static final long serialVersionUID = 5272223219287676996L; 

private void loadAppletParameters(){ 

} 

public void init(){ 
    loadAppletParameters(); 
} 

public void setClipboardContent(String text){ 
    StringSelection ss = new StringSelection(text); 
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
    clipboard.setContents(ss, this); 
} 

public void lostOwnership(Clipboard clipboard, Transferable contents) { 

} 

public String getClipBoardContent(){ 
    String content = null; 
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
    Transferable contents = clipboard.getContents(null); 
    boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); 
    if(hasTransferableText) 
     try { 
      content = (String)contents.getTransferData(DataFlavor.stringFlavor); 
     } catch (UnsupportedFlavorException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    return content; 
} 

} 

Où est-ce que je vais mal?

Répondre

1

Enfin j'ai résolu. Il y a deux problèmes:

d'abord, la dimension semble devrait être au moins 1.

Et deuxièmement, pour voir le modifier sur mon applet je dois vider le cache Java à partir de la console.

5

Depuis « presenta un valore non valido » traduit apparemment « présente une valeur non valide » essayez de changer la largeur et la hauteur de 0 à 20.

Utilisez CSS (feuilles de style en cascade) pour rendre l'applet caché ou invisible.

+0

J'ai résolu. Il y a deux problèmes, d'abord la dimension devrait être d'au moins 1, et d'autre part, pour voir la modification sur mon applet je dois effacer le cache Java de la console. – Griso