在www中java因其灵活性而得到越来越广泛的运用,许多的网页都使用了java来增加动感和与用户进行交互对话.在www中java script和java applet是运用最多的。java script的启动速度快, 编写简单,易于修改,与文档的结合密切,但其功能略嫌简单; 而java applet的功能强大, 灵活性好,但编写复杂,无法直接在文档中修改.因此如能将二者结合运用将达到很好的效果.
下面给大家举例如何在网页中进行java script和java applet的综合运用.
java script与java applet的综合运用(一)
首先我们编写一个java applet,就叫helloworld1好了(大家对helloworld一定不会陌生).
helloworld1.java
|
编译通过后会生成helloworld1.class(别告诉我程序无法通过!如果编译出错请检查是否拼写有误。)
example.html
|
用浏览器打开example.html会出现一个显示“hello world!”的java applet以及一个按钮“请点击这里”。我们点一下按钮,你会发现“hello world!”变成了“世界你好”。这说明java script已经成功的改变了helloworld1中text的内容。
你也许会问在在helloworld1.java中为什么要在text前加public??
还有java script中那行:"document.app.repaint();"是什么意思??
是这样的:
和c++一样,在java中缺省状态下,对象的属性是private,要让java script访问到java applet中的对象,必须设置为public(包括函数、变量和类)。
前一句document.app.text="世界你好!"仅改变了text的值,要使它反映在浏览器上,必须要让helloworld1刷新它的显示,因此要调用helloworld1中的repaint()函数。你也许又要问了:我在helloworld1.java中并没有看到repaint()函数呀? helloworld1是applet的子类,我们调用repaint()其实是调用类applet中的repaint()函数。当然我们并不推荐在外部直接修改applet内的变量,更安全的方法是提供public函数来读取和改变内部变量。
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
|
编译后生成helloworld2.class;
example2.html
|
同样打开example2.html点击按钮后你会发现"hello world!"变成了"世界你好!",说明调用函数成功
闽公网安备 35060202000074号