请问高手,java applet调用javascript函数的一个问题 里边没有关于java applet如何向javascript函数传参数. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有没有装netscape,没有的话装一个,把Netscape目录下的\Communicator\Program\java\classes\java40.jar加到Classpath中去.一下是Applet的写法:import java.awt.*;import java.awt.event.*;import java.applet.*;import netscape.javascript.*;public class MyClass extends java.applet.Applet implements ActionListener{ Button bt = new Button("Exec"); public void init() { bt.addActionListener(this); this.add(bt); } public void paint(Graphics g) {} public void actionPerformed(ActionEvent ev) { String label = ev.getActionCommand(); if(label.equals("Exec"))JSObject.getWindow(this).call("doTest",null); }}测试的html文件如下:<HTML><HEAD><TITLE> New Document For Using Applet </TITLE></HEAD><BODY>Hello This is a Test!<br><APPLET id="obj_applet" align=center code=MyClass codeBase="." width=400 height=300 id=JavaApplet name=JavaApplet archive="myclass.jar"></APPLET><Script language=javascript>function doTest(){ alert("Hello");}</Script></BODY></HTML> IE 支持这种JavaScript做法吗? 是的!传递参数的详细实现如下:import java.awt.*;import java.awt.event.*;import java.applet.*;import netscape.javascript.*;public class MyClass extends java.applet.Applet implements ActionListener{ Button bt = new Button("Exec"); String str = Math.random()+""; public void init() { bt.addActionListener(this); this.add(bt); } public void paint(Graphics g) { g.drawString(str,10,10); } public void actionPerformed(ActionEvent ev) { String[] param= {""+Math.random()}; try{ str = (String)JSObject.getWindow(this).call("doTest",param); }catch(Exception exp) { this.showStatus(exp.toString()); str = param[0]; } repaint(); }}测试的html文件如下:<HTML><HEAD><TITLE> New Document For Using Applet </TITLE></HEAD><BODY>Hello This is a Test!<br><APPLET id="obj_applet" align=center code=MyClass codeBase="." width=400 height=300 id=JavaApplet name=JavaApplet archive="myclass.jar"></APPLET><Script language=javascript>function doTest(vdt){ 测试的html文件如下:<HTML><HEAD><TITLE> New Document For Using Applet </TITLE></HEAD><BODY>Hello This is a Test!<br><APPLET id="obj_applet" align=center code=MyClass codeBase="." width=400 height=300 id=JavaApplet name=JavaApplet archive="myclass.jar"></APPLET><Script language=javascript>function doTest(){ alert(vdt); return "Pass in is:"+vdt+"\nReturn is: "+vdt;}</Script></BODY></HTML> }</Script></BODY></HTML> 你也可以不装netscape,那个包其实微软已经替你装了,只是如果你不是在windows下的是后你要考虑找到那个包.微软那个包的位置是:C:\WINNT\java\Packages\0S0W0NFX.ZIP,他其实也是拷贝netscape的. 反射读取类并执行类的process方法。 代码如何实现这个算法(找出近似度高的重复值记录) 利用多态机制时,Java虚拟机的内存情况如何? java方法初始化问题 如何使用外部的JAR问题!!! 进制转换 求教:TextField向上滚动效果怎么实现 JBuilder 7中如何安装一个Server 请教各位高手一个远程调用(RMI)的问题,火烧眉毛! 带有数据库的APPLET为什么在Ie5里不能正常运行? JDOM的文档在哪里下载?请给具体连接地址。还有,是否总是使用JDOM代替DOM? 散分,今天下午去面试JAVA程序员.....
把Netscape目录下的\Communicator\Program\java\classes\java40.jar加到Classpath中去.一下是Applet的写法:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import netscape.javascript.*;
public class MyClass extends java.applet.Applet implements ActionListener
{
Button bt = new Button("Exec");
public void init()
{
bt.addActionListener(this);
this.add(bt);
}
public void paint(Graphics g)
{}
public void actionPerformed(ActionEvent ev) {
String label = ev.getActionCommand(); if(label.equals("Exec"))JSObject.getWindow(this).call("doTest",null);
}
}
测试的html文件如下:
<HTML>
<HEAD>
<TITLE> New Document For Using Applet </TITLE>
</HEAD><BODY>
Hello This is a Test!<br>
<APPLET id="obj_applet" align=center code=MyClass codeBase="." width=400 height=300 id=JavaApplet name=JavaApplet archive="myclass.jar"></APPLET>
<Script language=javascript>
function doTest()
{
alert("Hello");
}
</Script>
</BODY>
</HTML>
import java.awt.event.*;
import java.applet.*;
import netscape.javascript.*;
public class MyClass extends java.applet.Applet implements ActionListener
{
Button bt = new Button("Exec");
String str = Math.random()+"";
public void init()
{
bt.addActionListener(this);
this.add(bt);
}
public void paint(Graphics g)
{
g.drawString(str,10,10);
}
public void actionPerformed(ActionEvent ev) {
String[] param= {""+Math.random()};
try{
str = (String)JSObject.getWindow(this).call("doTest",param);
}catch(Exception exp)
{
this.showStatus(exp.toString());
str = param[0];
}
repaint();
}
}测试的html文件如下:
<HTML>
<HEAD>
<TITLE> New Document For Using Applet </TITLE>
</HEAD><BODY>
Hello This is a Test!<br>
<APPLET id="obj_applet" align=center code=MyClass codeBase="." width=400 height=300 id=JavaApplet name=JavaApplet archive="myclass.jar"></APPLET>
<Script language=javascript>
function doTest(vdt)
{
测试的html文件如下:
<HTML>
<HEAD>
<TITLE> New Document For Using Applet </TITLE>
</HEAD><BODY>
Hello This is a Test!<br>
<APPLET id="obj_applet" align=center code=MyClass codeBase="." width=400 height=300 id=JavaApplet name=JavaApplet archive="myclass.jar"></APPLET>
<Script language=javascript>
function doTest()
{
alert(vdt);
return "Pass in is:"+vdt+"\nReturn is: "+vdt;
}
</Script>
</BODY>
</HTML>
}
</Script>
</BODY>
</HTML>
windows下的是后你要考虑找到那个包.
微软那个包的位置是:C:\WINNT\java\Packages\0S0W0NFX.ZIP,他其实也是拷贝
netscape的.