6

这实际上是我关于 Java 的第一个问题,所以请耐心等待。

我从这段代码构建了一个名为 HelloWorldApp.class 的愚蠢的简单小程序类:

import java.applet.Applet;

class HelloWorldApp extends Applet
{
    static final long serialVersionUID = 6636669702238171717L;
    public String test()
    {
        return "Hello World!"; // Display the string.
    }
}

然后我从所述类文件构建了一个 jar 文件。之后,我做了一个愚蠢的简单 JNLP 文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="/Content/applets" href="/Content/applets/datadelivery.jnlp">
    <information>
        <title>Hello World</title>
        <vendor>Me</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="HelloWorldApp.jar" main="true" />

    </resources>
    <applet-desc 
         name="Test Applet"
         main-class="HelloWorldApp"
         width="300"
         height="50">
     </applet-desc>
     <update check="background"/>
</jnlp>

我把所有三个项目都扔到了/Content/applet 目录中。最后,为了将它们联系在一起,我将其放在 HTML 文档的正文中:

<script type="text/javascript">
    var attributes = {
        id:'deliveryApplet',
        code: 'HelloWorldApp',
        // note: I tried including "codebase: '/Content/applets'", but nothing new happened
        width: 300,
        height: 50
    };
    var parameters = {
        jnlp_href: '/Content/applets/datadelivery.jnlp'
    };
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

...并创建了一个带有 onclick 调用操作的按钮:

alert(deliveryApplet.test())

问题?没有函数调用;JS 控制台响应说“未捕获的类型错误:对象 # 没有方法 'test'”。所以在某个地方,部署没有成功。但是哪里?根据示例,JNLP 的东西看起来是正确的。

4

1 回答 1

0

为了使事情更容易处理,我建议您使用“已弃用”小程序标签测试您的小程序。我记得我在使用 javascript 小程序加载器时遇到了奇怪的问题,并且无法弄清楚为什么它没有按照应有的方式工作。

于 2013-03-01T08:12:47.587 回答