这是我关于Java的第一个问题,请耐心等待。
我从这段代码构建了一个名为HelloWorldApp.class的愚蠢的简单applet类:
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 / applets中的所有三个项目。最后,为了将它们组合在一起,我将其放在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控制台响应说“Uncaught TypeError:Object#没有方法'测试'”。所以在某个地方,部署没有成功。但是哪里?根据例子,JNLP看起来是正确的。
答案 0 :(得分:0)
为了简化处理,我建议您使用“已弃用的”applet标记测试您的applet。我记得我在使用javascript applet loader时遇到了一些奇怪的问题,并且无法弄清楚它为什么不按预期的方式工作。