当前位置: 技术问答>java相关
救命!解决了一定在给分,javascript调用applet的问题
来源: 互联网 发布时间:2017-03-29
本文导语: 我在一个页面(html)里包含一个applet,我在页面(html)里用javasceipt写一个方法调用applet 里的一个方法, 如果我不把applet作成包的话,可以调用对象parent.framename.document.applets.addmethod();//成功 而我如果把applet作成一个jar包的...
我在一个页面(html)里包含一个applet,我在页面(html)里用javasceipt写一个方法调用applet 里的一个方法,
如果我不把applet作成包的话,可以调用对象parent.framename.document.applets.addmethod();//成功
而我如果把applet作成一个jar包的话,我的javascript方法找不到这个applet对象
可能是写法不对,不知这么写????
//我用fontpage两种都可以做的
如果我不把applet作成包的话,可以调用对象parent.framename.document.applets.addmethod();//成功
而我如果把applet作成一个jar包的话,我的javascript方法找不到这个applet对象
可能是写法不对,不知这么写????
//我用fontpage两种都可以做的
|
通过JavaScript提供的Applet对象,JavaScript代码可以访问Java的变量和方法,具体步骤和用法示例如下。需要注意的是,JavaScript提供的applet对象具有name属性,而没有方法和事件处理器。
步骤:
1) 将要访问的Java Applet小程序的方法和变量声明为Public,且必须在Public类中声明;
2) Java Applet小程序要先装入才能访问,尽管applet对象没有定义onLoad事件,但可以在HTML文档的〈body〉标志中,指定使用Window对象的onLoad事件处理器;
3) Java Applet小程序可以用JavaScript的applet对象来访问。
示例:
“mytest.htm”
function accessApplet()
{ setTimeout("changeText('I like JavaScript!')",1000);
setTimeout("changeText('I like JavaScript and Java!')",2000);
setTimeout("changeText('I like Java!')",3000);
setTimeout("accessApplet()",4000);
}
function changeText(s)
{
window.document.testText.setText(s)
//此处调用JavaApplet小程序的setText()方法
//注意,小程序的名字必须为〈applet〉标志 name属性所标识
}
//通过调用accessApplet()装入小程序
“Testtext.java”
import java.applet.*;
……
public class Testtext extends Applet
{ ……
public void setText(String s) //setText()必须声明为“public”
{
text=s;
repaint();
}
}
步骤:
1) 将要访问的Java Applet小程序的方法和变量声明为Public,且必须在Public类中声明;
2) Java Applet小程序要先装入才能访问,尽管applet对象没有定义onLoad事件,但可以在HTML文档的〈body〉标志中,指定使用Window对象的onLoad事件处理器;
3) Java Applet小程序可以用JavaScript的applet对象来访问。
示例:
“mytest.htm”
function accessApplet()
{ setTimeout("changeText('I like JavaScript!')",1000);
setTimeout("changeText('I like JavaScript and Java!')",2000);
setTimeout("changeText('I like Java!')",3000);
setTimeout("accessApplet()",4000);
}
function changeText(s)
{
window.document.testText.setText(s)
//此处调用JavaApplet小程序的setText()方法
//注意,小程序的名字必须为〈applet〉标志 name属性所标识
}
//通过调用accessApplet()装入小程序
“Testtext.java”
import java.applet.*;
……
public class Testtext extends Applet
{ ……
public void setText(String s) //setText()必须声明为“public”
{
text=s;
repaint();
}
}