首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JNLP部署Applet

使用JNLP部署Applet
EN

Stack Overflow用户
提问于 2010-11-16 16:47:12
回答 2查看 4K关注 0票数 4

我正在尝试使用新的Java JNLP规范部署Applet,但Java插件控制台总是收到以下错误:

代码语言:javascript
复制
BadFieldException[ Il campo <jnlp><applet-desc>width presenta un valore non valido: 0,0]

这是我的HTML代码:

代码语言:javascript
复制
        <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代码:

代码语言:javascript
复制
<?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>

和我的小程序代码:

代码语言:javascript
复制
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;
}

}

我哪里错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-17 17:06:51

我终于下定决心了。有两个问题:

首先,维度似乎应该至少为1。

其次,要查看对applet的修改,我必须从控制台中清除Java缓存。

票数 1
EN

Stack Overflow用户

发布于 2010-11-16 19:35:50

由于"presenta un valore non valido“显然转换为”presenta a changing“,请尝试将宽度和高度从0更改为20。

使用CSS (层叠样式表)使小程序隐藏或不可见。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4192381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档