服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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将提示出错。

待续.....

扫描关注微信公众号