Java Script与Java Applet的综合运用(二)

上次我们介绍了使用Java Script改变Java Applet中的变量的方法(严格来讲应该是改变了String类,不过可以简单的把String类看成是变量);我们说直接在Java Script中改变Java Applet中的变量是不可取的(至少是不推荐的)。因为Java Applet本身并不知道变量被改变, 这会给Applet程序带来隐患(还记得我们不得不调用repaint()函数来刷新显示吗?)。更为积极的做法是在Java Applet中提供public函数支持对内部对象的存取。下面我们对HelloWorld1.java和example.html进行改进,介绍如何在Java Script中调用Java Applet的函数: 考虑到浏览器对同名的Java Applet往往使用cache,因此我们把程序命名为HelloWorld2.java HelloWorld2.java import java.awt.*; import java.applet.*; public class HelloWorld2 extends Applet//主类名必须与文件名相同 { String text="Hello World!";//去掉text的public属性 public void paint(Graphics g) {g.drawString(text,20,20);} //这里增加一个public函数 public void SetString(String NewString) { text=NewString; repaint();//自动调用repaint()函数 } } 编译后生成HelloWorld2.class; example2.html <html> <head><title>例子</title></head> <body> <script language="JavaScript"> <!-- function SetText() { document.app.SetString("世界你好!"); //这里不再需要repaint()函数了 } //--> </script> Java Script与Java Applet的综合运用例二<br> <applet code="HelloWorld2.class" width="100" height="28" name="app"> </applet> <form> <input type="button" value="请点击这里" onclick="SetText()"> </form> </body> </html> 同样打开example2.html点击按钮后你会发现"Hello World!"变成了"世界你好!",说明调用函数成功。 这种方法相比较前一种而言显然更加安全可靠。此时若想再直接访问text,Java将提示出错。 <淘宝热门商品:
 

¥:29.00 

‖ 淘时尚 ‖入托名字条‖布质可烫可缝‖姓名贴‖

‖四钻‖棉质耐洗‖全彩色免缝姓名条 熨烫入托名字条 迪斯尼

 

4.00 元  

阳光网游挂机程序专业店

[自动发货]梦幻西游辅助脚本单开压镖+半自动跑商+单开打图日卡


来源:程序员网

小小豆叮

0 Responses to "Java Script与Java Applet的综合运用(二)"

发表评论