Pregunta

Estoy tratando de implementar un Applet de Java con las nuevas especificaciones JNLP, pero siempre recibir el siguiente error de plugin de Java de la consola:

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

Este es mi código 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>

Este es mi código de 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>

Y mi código de 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;
}

}

¿Dónde voy mal?

¿Fue útil?

Solución 2

Finalmente resolví. Hay dos problemas:

En primer lugar, la dimensión parece debe ser al menos 1.

Y en segundo lugar, para ver el applet de Modificar en mi tengo que borrar la memoria caché de Java desde la Consola.

Otros consejos

Desde "Presenta ONU valore no valido" aparentemente se traduce en "presenta un valor no válido" intentar cambiar la anchura y la altura de 0 a 20.

El uso de CSS (Cascading Style Sheets) para hacer que el applet oculto o invisible.

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