JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JAVA技术--APPLET  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
JavaScript与JavaApplet综合运用
作者:未知     文章来源:www.jspcn.net
访问次数:648次     加入时间:2005年01月19日
在WWW中Java因其灵活性而得到越来越广泛的运用,许多的网页都使用了Java来增加动感和与用户进行交互对话.在WWW中Java Script和Java Applet是运用最多的。Java Script的启动速度快, 编写简单,易于修改,与文档的结合密切,但其功能略嫌简单; 而Java Applet的功能强大, 灵活性好,但编写复杂,无法直接在文档中修改.因此如能将二者结合运用将达到很好的效果.
下面我给大家举例如何在网页中进行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!"变成了"世界你好!",说明调用函数成功?


--------------------------------------------------------------------------------

摘自:星期*的主页-Yes I can!
作者:星期*         
作者主页: http://jinhu.163.net 
 
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号