博客 | 彩信 | 影视 | 两性 | 笑话 | 文学 | QQ酷 | 游戏 | 动漫 | 健康 | 人才 | 星座 | 心理 | 网摘 | 图库 | 下载 | 旅游 | 交友 |
社会百态 | 美图写真 | 精彩网文 | 动漫卡通 | 搞笑猎奇 | 历史军事 | 文化旅游 | 明星娱乐 | 两性话题 | 恐怖灵异 | FLASH小游戏 |
您的位置:首页>技术开发>Script>正文
 

Java咖啡馆:情人节的Applet(三)

时间:2006-5-28 17:29:26 | 来自:网络收集 | 浏览:收藏到新浪ViVi 收藏到365KEY

Java咖啡馆:情人节的Applet(三)

  OK,保存一下项目,然后可以点击Eclipse的Run菜单的Run as-Java Applet项来预览这个Applet了,是不是很简单?

结合网页

  把Applet嵌入网页很简单,只要一个<applet>标签即可。拿我们的NewsApplet类举例,在Eclipse项目的根目录中新建一个sample.htm,源代码如下:

<html>
<body>
<applet code="NewsApplet.class" codebase="." width=480 height=384>
  <param name="from" value="Prince Charming">
  <param name="to" value="Cinderella">
</applet>
</body>
</html>

  其中<applet>标签表示这里定义一个Applet,它对应的文件名是NewsApplet.class,它的相对路径是当前目录。<applet>标签中有两个<param>标签,这就是上文提到过的传递给Applet的参数。

Just   Do   It

  如果现在用浏览器打开这个sample.htm将会得到什么结果?验证你的猜测。

  除了用浏览器观察Applet,J2SE SDK提供的小工具appletviewer也非常好用。打开Windows的“命令提示符”,进入sample.htm所在的目录,然后输入:appletviewer sample.htm,来亲自体验一下appletviewer吧。

与JavaScript交互

  JavaScript应该是大家非常熟悉的客户端脚本语言。虽然名字中带有Java,但它和Java语言只是在语法上有类似之处,JavaScript是由浏览器解释运行,与Applet由Java虚拟机执行完全不一样。不过,这两个没有血缘关系的同班同学倒是可以精诚合作,Applet实现底层的工作,JavaScript执行更高层的调用,从而实现意想不到的效果。

  JavaScript可以通过多种途径操纵Applet。首先,JavaScript能调用Applet中的public的方法,这时的Applet好像一个听话的机器人一样好用。另外一种方法就是用JavaScript直接修改HTML结构,这样可以定制Applet的各种属性,有更大的灵活性。

  刚才说了,我们的目标是把这个Applet制作成一种服务,即使不懂编程的朋友通过设置网页的参数就能够使用,因为不是每个人都有能力(或者精力)修改源代码的。所以,需要把Applet的参数做成可定制的,而这个只能够由JavaScript完成。虽然我们可以给Applet写一些类似于setFrom()和setTo()的方法给JavaScript调用,但是问题在于JavaScript函数的执行时机,因为Applet无法通知JavaScript它已经完成初始化操作了。

  所以,我们应该走第二条路,即用JavaScript直接修改HTML结构,动态把<applet>标签写入HTML。从而,我们最终版本的index.htm代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>大千世界无奇不有</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<script language="JavaScript">
  // 得到URL中的参数
  var urlquery = location.href.split("?");

  if (urlquery.length > 1) {
    // 解析参数并获取from和to
    var urlterms = urlquery[1].split("&");
    var from = decodeURIComponent(urlterms[0].substring(5));
    var to = decodeURIComponent(urlterms[1].substring(3));

    // 动态把<applet>标签写入HTML
    document.write('<center>');
    document.write('<h1>爱琴海上千年罕见的奇观</h1>');
    document.write('</center>');
    document.write('<hr>');
    document.write('<p align=center>http://www.cfan.com.cn 2005年2月14日 记者:GaryChan</p>');
    document.write('<applet code="NewsApplet.class" codebase="." width=480 height=384>');
    document.write('  <param name="from" value="' + from + '">');
    document.write('  <param name="to" value="' + to + '">');
    document.write('</applet>');
    document.write('<p>酷似汉字的星辰若隐若现&?lt;/p>');
    document.write('<img src="/Files/BeyondPic/2006-5/28/0652817292580743.jpg">');
    document.write('<p>世界各地人们蜂拥而来争相观赏</p>');
    document.write('<p>科学家表示,白天能够达到肉眼辨别的星辰非常罕见。<p>');
    document.write('<p>据称,如果名字跟星辰相似,一定能够得到神灵的祝福。<p>');
  }
</script>

<form>
  <p>你的名字:
    <input name="from" type="text" id="from" width="100">
她的名字:<input name="to" type="text" id="to" width="100">
    <input type="submit" name="Submit" value="提交">
  </p>
</form>
</body>
</html>



打印
上一篇:Java咖啡馆:情人节的Applet(二) 下一篇:Java咖啡馆:情人节的Applet(四) 

版权申明:
  本站属于54stu个人网站,大部分文章来自网络搜集,大家可以自由转载本站的文章,但原作者和来自我站的链接必须保留。文章版权归原作者所有。
  五四电脑技术资讯网(54stu.com)依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们联系,注明网址及文章,我们会即时处理或删除,感谢您的合作!

站点最新

·菜鸟手册 诺基亚手机日常问题解答
·如何防范手机被蓝牙病毒“咬”伤
·蓝牙适配器的具体安装及使用方法
·06月22日值得注意病毒列表
·Work 2.0时代,服务决定一切
·06月21日值得注意病毒列表
·紫光华宇拼音输入法5.0版正式发布
·微软即付即用计划:无奈还是阴谋
·期盼:微软正在开发Windows XP S
·9991阴魂不散!多多QQ表情病毒奥
·隐藏文档索财 国内截获首例敲诈病
·没有防火墙的安全 是明智还是愚蠢
·SoBus公交搜宝让您成为公交通(上
·SoBus公交搜宝让您成为公交通(下
·既然有妙笔,干嘛你不来?——纽
·病毒伪装成世界杯球票 已出现多个
·让P2P穿透防火墙:微软再推两新服
·中望CAD2006发布会在广州成功举行
·笔记本的噩耗:Vista将是电量杀手
·江苏省软件产品检测中心对浩辰IC
·腾讯将于6月15日推出QQ会员等级体
·可标记文章已读:IE7 Beta3八月推
·电脑病毒“班沃母”现身为世界杯
·全球最大BT网站即将重新开张!
·微软杀毒新贵Live OneCare正式发
·全球最大BT下载网站遭警方突袭
·病毒借达芬奇密码作乱 教您如何防
·找客户--为您找到新客户,开拓新财
·腾讯公司关于“QQ密码修改方式”
·专业助手!Excel 2007 beta 2 试用

站点推荐

Adobe Premiere 6.0认证考试大纲
网络工程师专业术语大集合之路由

支持我们
 
五四娱乐网--新五四,新娱乐!-WwW.54stu.com 用心生活-娱乐万家(本站法律顾问:陈律师)
五四娱乐网版权所有 All Rights Reserved 蜀ICP备05025894号  投诉QQ:3458124