这是 http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html 中的示例我已经删除了很多功能,因为我只是想让基本的小程序工作,但即使我直接从 zip 中运行他们的示例,它也会给我一个错误: 我还尝试将这些类归档到 jar 文件中,看看这是否有帮助,但它仍然继续给我同样的错误。
我认为问题在于文件夹/文件结构,但我不确定。
JavaScript 和 HTML
<script>
function enterNums(){
mathApplet.userName = "John Doe";
var greeting = mathApplet.getGreeting();
}
</script>
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
id:'mathApplet',
code:'jstojava.MathApplet',
width:1,
height:1
} ;
var parameters = {
codebase:"/scripts/java/",
jnlp_href:"math_applet.jnlp"
} ;
deployJava.runApplet(attributes, parameters, '1.7');
</script>
<p><a href="javascript:enterNums();">Launch Example</a></p>
JNLP 文件
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+">
<information>
<title>Math Applet - JavaScript to Java LiveConnect</title>
<vendor>Sun</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="jstojava.jar" main="true" />
</resources>
<applet-desc
name="Math Applet"
main-class="MathApplet"
width="1"
height="1">
</applet-desc>
<update check="background"/>
</jnlp>
Java代码
package jstojava;
import java.applet.Applet;
public class MathApplet extends Applet{
public String userName = null;
public String getGreeting() {
return "Hello " + userName;
}
}
最佳答案
所以意识到之后你可以在Java控制台中打开错误跟踪 控制面板>Java>高级>显示控制台
在控制台中按 5 设置最高跟踪级别。
事实证明,由于网络服务器不允许 mime 类型,因此未下载 jnlp 文件。
关于Javascript 到 Java Applet 未捕获类型错误 : Object #<HTMLAppletElement> has no method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15626242/