2010-11-16 2 views
4

Я пытаюсь развернуть апплет с новыми спецификациями JNLP Java, но я всегда получаю следующее сообщение об ошибке с помощью Java Plugin консоли:Deploy апплет с JNLP

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

Это мой 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> 

Это мой 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> 

И мой 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; 
} 

} 

Куда я иду не так?

ответ

1

И наконец я решил. Есть две проблемы:

Во-первых, размер, кажется, должно быть, по крайней мере 1.

И второе, чтобы увидеть изменения в моем апплете я должен очистить кэш Java из консоли.

5

С «Presenta ООН VALORE, не valido» по-видимому, приводит к «представляет недействительное значение» попробуйте изменить ширину и высоту от 0 до 20.

использования CSS (каскадные таблицы стилей), чтобы апплет скрыт или невидимый.

+0

Я решил. Есть две проблемы: сначала измерение должно быть не менее 1, а во-вторых, чтобы увидеть изменение на моем апплете, я должен очистить кеш Java от консоли. – Griso