如何使用applet类中声明的一些函数?即。
这是我的班级
public class hi extends JApplet{
public void HiThere(){
System.out.println("Hi on Java Console");
}
}
在我的浏览器上声明了类似的内容:
<applet.... name="HI" id="HI" ......>Ooops!!!</applet>"
但是当我尝试使用该函数时出现了错误,那么如何使用我的applet类中声明的函数?感谢!!!
答案 0 :(得分:1)
首先,您应该对代码进行此更改:
公共类HI扩展了JApplet {
public HI(){System.out.println(“在Java控制台上嗨”);}
}
如果您已完成此操作,并且浏览器仍有错误,请在此处发布确切的错误消息。此外,您可能希望查找“编程Java小程序入门”的教程,因为您的代码告诉我,您似乎不知道自己在做什么。
答案 1 :(得分:1)
为了从js调用你的类方法,你必须在html中声明<object>
,用你的编译内容指定一个.jar
或.class
,主类的包和其他一些参数如下例所示(对象用于IE,嵌入用于FF):
我想您想要调用问题中定义的hi.HiThere()
方法。
<object
width="100" height="100" id="hi">
<param name = "code" value = "path.to.your.main.class.hi">
<param name = "archive" value = "jar location">
<param name = "mayscript" value = "true">
<param name = "scriptable" value = "true">
...
<comment>
<embed
code = "path.to.your.main.class.hi"
archive = "your jar location"
scriptable = "true"
width = "100" height = "100"
name = "hi"
...
</embed>
</comment>
</object>
然后,您可以使用document
中的id
属性或示例案例<object>
中的name
通过<embed>
访问您的对象{ {1}}。使用以下代码,您可以调用document.hi
方法:
HiThere();
为了执行最后的java版本,请记住满足新的java安全要求(清单属性http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html,jar签名......)。
答案 2 :(得分:0)
您可以在JavaScript中调用applet方法:
为此,应该从JavaScript启动applet,例如
<script src="https://www.java.com/js/deployJava.js"></script>
<script>
var attributes = { id: 'mainApplet', code:
'org.jazzteam.Example', archive: 'example.jar', width: 812, height:
635};
var parameters = {};
deployJava.runApplet(attributes, parameters, '1.7');
function actionInApplet(url) {
mainApplet.appletMethod(url);
}
</script>
在这种情况下,applet是使用 id =&#39; mainApplet&#39; 从JavaScript启动的。在applet中有 appletMethod()方法,我们想要调用它。为此,您需要使用id名称调用与JavaScript对象相关的方法。您还可以将参数传递给被调用的方法,如本例所示。
此外,有必要知道从JavaScript调用的applet方法应该是特权。为此,您需要将方法代码包装在以下&#34;包装器&#34;:
中AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
//method code
return new Object();
}
});
此信息取自文章: Frequently Asked Questions during Java applet development