Déploiement Applet avec JNLP
-
10-10-2019 - |
Question
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:
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>
Mon Applet Code:
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ù vais-je tort?
La solution 2
Enfin je résolus. Il y a deux problèmes:
Tout d'abord, la dimension semble devrait être au moins 1.
Et deuxièmement, pour voir le modify sur mon applet je dois vider le cache Java à partir de la console.
Autres conseils
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 (Cascading Style Sheets) pour rendre l'applet caché ou invisible.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow