Java、Java Applet与 JavaScript间的通信 |
|
| //通过调用accessApplet()装入小程序 |
| “Testtext.java” |
| import java.applet.*; |
| …… |
| public class Testtext extends Applet |
| { …… |
| public void setText(String s) //setText()必须声明为“public” |
| { |
| text=s; |
| repaint(); |
| } |
| } |
| 三、在Java Applet小程序中使用JavaScript |
| Live Connect提供了Java与JavaScript的接口,可以允许在Java Applet小程序中使用JavaScript。具体步骤如下: |
| 1) 在HTML脚本中使用〈APPLET〉标志的MAYSCRIPT属性,以允许Java Applet小程序访问脚本; |
| 2) 将netscape. JavaScript包导入Java Applet小程序; |
| 3) 在Java Applet小程序中用JSObject类的getWindow( )方法创建JavaScript窗口的句柄; |
| 4) 在Java Applet小程序中用JSObject类的getMember( )方法访问JavaScript对象; |
| 5) 在Java Applet小程序中用JSObject类的eval( )方法调用JavaScript方法。 |
| 示例: |
| “ReadForm. Java” |
| import netscape.javascript.JSObject; |
| import netscape.javascript.JSException; //可允许在小程序中处理异常事件 |
| …… |
| win=JSObject.getWindow(this); // 获取JavaScript窗口句柄,引用当前文档窗口 |
| doc=(JSObject)win.getMember("document"); // 访问JavaScript对象 |
| form=(JSObject)doc.getMember("textForm"); |
| textField=(JSObject)form.getMember("textField"); |
| text=(String) textField.getMember("value"); //获取文本区的值 |
| …… |
| win.eval("alert(/"This alert comes from Java!/")"); |
| // 调用JavaScript的alert()方法 |
| …… |
| “User.htm” |
| …… |
Enter text and then click display text: |
| //必须使用MAYSCRIPT属性标志 |
|
| 附表列举了JSObject类的方法和描述,更详细的说明可以参考MSDN。值得一提的是,本文中程序示例加下划线的部分,要特别引起注意。 |
1328

被折叠的 条评论
为什么被折叠?



