设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: 刺猬宫 >> 网络编程 >> JSP >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
技巧:ASP.NET数据校验部…
小技巧:CSS列表标签出现…
DIV CSS网页布局需要掌握…
技巧:Java中用动态代理…
J2EE实用技巧:提升JSP应…
Java开源技术:Eclipse的…
使用技巧:在Tomcat5.x中…
ASP技巧实例:使用ASP记…
ASP技巧:ASP实现不存在…
技巧:用 isapi rewrite…
  技巧:javascript与JavaApplet综合运用           
技巧:javascript与JavaApplet综合运用
 

 

在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

import java.awt.*; 



import java.applet.*; 

public class HelloWorld1 extends Applet 

{ 

public String text="Hello World!";//请注意此处的public 

public void paint(Graphics g) 

{g.drawString(text,20,20);} 

}

编译通过后会生成HelloWorld1.class(别告诉我程序无法通过!如果编译出错请检查是否拼写有误。)

example.html

<html> 

<head><title>例子</title></head> 

<body> 

<script language="JavaScript"> 

<!-- 

function SetText() 

{ 

document.app.text="世界你好!"; 

document.app.repaint();//也请注意此句. 

} 

//--> 

</script> 

Java Script与Java Applet的综合运用例一<br> 

<applet code="HelloWorld1.class" width="100" height="28" name="app"> 

</applet> 

<form> 

<input type="button" value="请点击这里" onclick="SetText()"> 

</form> 

</body> 

</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

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!"变成了"世界你好!",说明调用函数成功

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-7-13 15:44:58
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持