Applet 与 javascript 的相互调用

 Applet 与 javascript 的相互调用主要包括:

  • 页面上的js方法调用 Applet 方法;
  • 从 Applet 中调用所在页面的js方法。

实现上述功能需要引用 netscape.javascript.JSObject等,它在Java/jdk1.5.0_16/jre/lib/plugin.jar中科找到。

 

1、页面上的js方法调用 Applet 方法

页面文件如下:

<HTML><HEAD><TITLE></TITLE> <script language=javascript> function callApplet(){ alert(form.inStr.value); // 向 Applet 传值 form.myapplet.show(form.inStr.value); } // 在 Applet 中调用 function show( msg ){ alert("msg : "+msg); form.inStr.value = msg; } </script> <BODY bgColor='#ffffff' leftMargin=5 topMargin=5 marginwidth="5" marginheight="5"> <table width="790" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <form name="form" method="post" action=""> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="20"> <td> <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="460" height="390" id="myapplet"> <PARAM NAME = "CODE" VALUE = "JS_Applet.class" > <PARAM NAME = "codebase" VALUE = "." > </object> </td> </tr> <tr> <td align=center> <table width="96%" height="114" border="0" cellpadding="0" cellspacing="0"> <tr align="center"> <td height="16"><input type="text" id="inStr" value=""></td> <td align="left"><input type="button" onclick="callApplet()" value="传参数"></td> </tr> </table></td> </tr> </form> </table></td> </tr> </table> </body> </html>

 

Applet中定义一个方法,如


    // 页面向 Applet 传值
    public void show(String str){
        jlbMsg.setText(str);
    }
这样点击页面上的按钮就可向Applet传递一个串,并在Applet中的 Label 上显示,要注意的是页面中调用 Applet 方法的方式

 

2、从 Applet 中调用所在页面的js方法

 

Applet中的方法

private void sendMsgtoHtm() {// try{ JSObject window=JSObject.getWindow(this); // 获取JavaScript窗口句柄,引用当前文档窗口 // 调用JavaScript的alert()方法 window.eval("alert(/"This alert comes from Java!/")"); // 调用页面上的js方法 show(message) Object obj[] = new Object[1]; obj[0] = "来自Applet的信息"; window.call("show", obj);//参数用数组的形势表示。 } catch(Exception e){ System.out.println("Exception :" + e.toString()); } }

 

注意,要进行异常处理(netscape.javascript.JSException)。

上面的代码使用了两种方式:调用js的alert、调用js的自定义方法show。

 

 

 

你可能感兴趣的:(JavaScript,exception,object,table,border,applet)