赵宏宇J2EE程序设计(第六章JavaApplet与JavaScript)2006年8月
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ch6-11
6.1.3 JavaApplet的例子(续2)
例6.2 用户邮箱登录界面
C6_2.HTML <html> <applet code="C6_2.class" height=100 width=500> </applet> </html> //C6_2.java import java.awt.*; import java.awt.event.*; import java.applet.*; public class C6_2 extends Applet implements ActionListener { Button b1; TextField tf1,tf2;
第六章
JavaApplet与JavaScript
6.1 JavaApplet
本章内容提要
6.1.1 JavaApplet概述 6.1.2 JavaApplet的HTML标记与参数传递 6.1.3 JavaApplet程序设计举例
Java Applet是一种工作在Internet浏览器上的Java
Ch6-15
6.1.3 JavaApplet的例子(续6)
public void init() { setBackground(Color.cyan); //设置Applet背景 } public void paint(Graphics g) //显示数字和图形时钟 { int xh, yh, xm, ym, xs, ys, s, m, h, xcenter, ycenter; Date rightnow=new Date();//取当前时间 String today = rightnow.toString(); //时间对应的字符串 h=Integer.parseInt(today.substring(11,13)); m=Integer.parseInt(today.substring(14,16)); s=Integer.parseInt(today.substring(17,19)); xcenter=80; //图形钟的原点 ycenter=80; //以下计算秒针、分针、时针位置
6.1.3 JavaApplet的例子
例6.1 用Applet显示图像
C6_1.HTML <html> <applet code=C6_1.class width=300 height=150> <param name=image value=城堡.jpg> </applet> </html>
Ch6-9
Ch6-4
6.1.1 JavaApplet概述(续2)
4. Applet类的主要方法与生命周期
init()方法 浏览器创建Applet子类的实例时调用该方法完 成初始化工作。该方法只被调用一次。 start()方法 当包含Applet的HTML页面被重新加载时,其 中的Applet实例会被重新启动并调用该方法。 paint()方法 用于完成Applet窗口界面的描绘。当Applet被 启动后,或者浏览器窗口被放大、缩小、移动、最大化、被 其它窗口遮挡、覆盖后又重新显示在屏幕的最前方法时,系 统自动调用该方法。 程序中调用repaint()方法时,系统首先用update()方法把 Applet实例所占用的屏幕空间清空,然后调用paint()方法重 画。
Ch6-12
2
6.1.3 JavaApplet的例子(续3)
public void init() { Label t1,t2,t3; Choice c1; setBackground(Color.white); setLayout(new FlowLayout(FlowLayout.LEFT)); t1 = new Label("邮箱"); tf1 = new TextField("用户名",10); t2 = new Label("@"); t2.setFont(new Font("Dialog",0,18)); c1 = new Choice(); c1.addItem("263.net"); c1.addItem("sohu.com"); t3 = new Label("密码"); tf2 = new TextField("********",10); b1 = new Button("登录");
程序。Java Applet主要用来将Java程序插入到HTML 网页中,在网络上传输,并将其作为网页的一部分来 执行。 JavaScript是直接嵌入到HTML网页中的基于Java 语言的前台脚本语言,它类似于VBScript。
6.2 JavaScript
6.2.1 JavaScript概述 6.2.2 JavaScript的基本语法 6.2.3 JavaScript的系统对象与事件 6.2.4 JavaScript的例子 6.2.5 JavaScript与JavaApplet的参数传递
6.1.2 JavaApplet的HTML标记与参数传递
1. Applet标记
<applet [name=Applet名] code=字节码文件名[.class] [codebase=Applet的URL] [width=像素宽度] [height=像素高度] [alt=替换文件] [align=对齐方式] [vspace=水平间距] [hspace=垂直间距]> [<param name=参数名1 value=参数值1>] [<param name=参数名2 value=参数值2>] …... </applet>
Ch6-5
6.1.1 JavaApplet概述(续3)
stop()方法 离开Applet所在的Web页,装载其它Web页面 时,或者在浏览Applet所在Web时,用浏览器右上角的缩放 按钮浏览窗口大小时,或者关闭该Web页时系统自动调用该 方法。 destroy()方法 当浏览器被关闭时自动调用该方法,完成清 除Applet所占用的所有资源和终止所有Applet实例建立和启 动的子线程等工作。
Ch6-13
6.1.3 JavaApplet的例子(续4)
b1.addActionListener(this); //为按钮注册事件监听程序 tf2.addActionListener(this); //为文本行注册事件监听程序 add(t1);add(tf1); add(t2); add(c1); add(t3); add(tf2); add(b1); } public void actionPerformed(ActionEvent e) { if ((e.getSource()==b1) || (e.getSource()==tf2)) { showStatus("单击事件发生"); } //单击按钮或文本行中按〈回车〉时 } }
Ch6-10
//C6_1.java import java.awt.*; import java.net.*; import java.applet.*; public class C6_1 extends Applet { Image im; public void init() { URL url=getDocumentBase(); String imageName=getParameter("image"); im=getImage(url,imageName); } public void paint(Graphics g) { g.drawImage(im,0,0,300,150,this); //在坐标(0,0)处显示图像,宽度为300,高为150 } }
Ch6-1
Ch6-2
6.1.1 JavaApplet概述
1. Applet类层次结构 java.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.applet.Applet
Ch6-3
6.1.1 JavaApplet概述(续1)
Ch6-16
6.1.3 JavaApplet的例子(续7)
xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter); ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter); xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter); ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter); xh = (int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*30+xcenter); yh = (int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*30+ycenter); g.setFont(new Font("TimesRoman", Font.PLAIN, 14)); g.setColor(Color.blue); g.drawArc(xcenter-50,ycenter-50,100,100,0,360); //画圆和数字 g.setColor(Color.darkGray); g.drawString("9",xcenter-45,ycenter+3);g.drawString("3",xcenter+40,ycenter+3); g.drawString("12",xcenter-5,ycenter-37); g.drawString("6",xcenter-3,ycenter+45);
2. Applet程序特点 (1) 基本的绘画功能 (2) 动态页面效果 (3) 动画和声音的播放 (4) 交互功能的实现 (5) 窗口开发环境 (6) 网络交流能力的实现 3. Applet工作原理 用java.applet.Applet类派生一个public型的子类, 子类名与源程序文件主名相同。将该源程序文件编 译成字节码文件。 在HTML网页中加入Applet标记,引入该字节 码文件。 当用户通过浏览器软件向Web服务器请求该 HTML网页时,含于该网页Applet标记处的字节码 文件随同网页一起被发送到客户端浏览器,并由客 户端浏览器的JVM解释和执行该字节码文件。
Ch6-14
6.1.3 JavaApplet的例子(续5)
例6.3 显示时钟。
C6_3.HTML <html> <applet code="C6_3.class" height=300 width=300> </applet> </html> //C6_3.java import java.util.*; import java.awt.*; import java.applet.*; public class C6_3 extends Applet implements Runnable { Thread timer = null; int lastxs=0, lastys=0, lastxm=0, lastym=0, lastxh=0, lastyh=0; String lasttoday="";
Ch6-7 Ch6-8
5 Applet程序的限制
大多数浏览器都默认地禁止以下操作: (1)运行时执行另一程序。 (2)任何文件的输入/输出。 (3)调用任何本地方法。 (4)尝试打开除提供Applet的主机之外的任何系统的Socket。
6.1.2 JavaApplet的HTML标记与参数传递(续1)
Applet不显示时
init() 创建 Applet start() 运行 Applet
stop()
停止 关闭浏览器时 销毁 destroy() Applet Applet
Applet显示时
start()
Applet生命周期图
Ch6-6
ห้องสมุดไป่ตู้
1
6.1.1 JavaApplet概述 (续4完)
其它常用Applet方法有: getParameter(String) 返回Applet标记中给出的参数值。 getCodeBase() 返回.class文件所在的网址URL。 getDocumentBase() 返回HTML网页的URL。 getAppInfo() 返回作者、版本、版权等信息。 showStatus() 在浏览器的状态栏输出信息。
2. HTML与Applet的参数传递
<applet ……. > [<param name=参数名1 value=参数值1>] [<param name=参数名2 value=参数值2>] …... </applet> 在Applet程序中,用getParameter("参数名")方法可以获 得参数值。
6.1.3 JavaApplet的例子(续2)
例6.2 用户邮箱登录界面
C6_2.HTML <html> <applet code="C6_2.class" height=100 width=500> </applet> </html> //C6_2.java import java.awt.*; import java.awt.event.*; import java.applet.*; public class C6_2 extends Applet implements ActionListener { Button b1; TextField tf1,tf2;
第六章
JavaApplet与JavaScript
6.1 JavaApplet
本章内容提要
6.1.1 JavaApplet概述 6.1.2 JavaApplet的HTML标记与参数传递 6.1.3 JavaApplet程序设计举例
Java Applet是一种工作在Internet浏览器上的Java
Ch6-15
6.1.3 JavaApplet的例子(续6)
public void init() { setBackground(Color.cyan); //设置Applet背景 } public void paint(Graphics g) //显示数字和图形时钟 { int xh, yh, xm, ym, xs, ys, s, m, h, xcenter, ycenter; Date rightnow=new Date();//取当前时间 String today = rightnow.toString(); //时间对应的字符串 h=Integer.parseInt(today.substring(11,13)); m=Integer.parseInt(today.substring(14,16)); s=Integer.parseInt(today.substring(17,19)); xcenter=80; //图形钟的原点 ycenter=80; //以下计算秒针、分针、时针位置
6.1.3 JavaApplet的例子
例6.1 用Applet显示图像
C6_1.HTML <html> <applet code=C6_1.class width=300 height=150> <param name=image value=城堡.jpg> </applet> </html>
Ch6-9
Ch6-4
6.1.1 JavaApplet概述(续2)
4. Applet类的主要方法与生命周期
init()方法 浏览器创建Applet子类的实例时调用该方法完 成初始化工作。该方法只被调用一次。 start()方法 当包含Applet的HTML页面被重新加载时,其 中的Applet实例会被重新启动并调用该方法。 paint()方法 用于完成Applet窗口界面的描绘。当Applet被 启动后,或者浏览器窗口被放大、缩小、移动、最大化、被 其它窗口遮挡、覆盖后又重新显示在屏幕的最前方法时,系 统自动调用该方法。 程序中调用repaint()方法时,系统首先用update()方法把 Applet实例所占用的屏幕空间清空,然后调用paint()方法重 画。
Ch6-12
2
6.1.3 JavaApplet的例子(续3)
public void init() { Label t1,t2,t3; Choice c1; setBackground(Color.white); setLayout(new FlowLayout(FlowLayout.LEFT)); t1 = new Label("邮箱"); tf1 = new TextField("用户名",10); t2 = new Label("@"); t2.setFont(new Font("Dialog",0,18)); c1 = new Choice(); c1.addItem("263.net"); c1.addItem("sohu.com"); t3 = new Label("密码"); tf2 = new TextField("********",10); b1 = new Button("登录");
程序。Java Applet主要用来将Java程序插入到HTML 网页中,在网络上传输,并将其作为网页的一部分来 执行。 JavaScript是直接嵌入到HTML网页中的基于Java 语言的前台脚本语言,它类似于VBScript。
6.2 JavaScript
6.2.1 JavaScript概述 6.2.2 JavaScript的基本语法 6.2.3 JavaScript的系统对象与事件 6.2.4 JavaScript的例子 6.2.5 JavaScript与JavaApplet的参数传递
6.1.2 JavaApplet的HTML标记与参数传递
1. Applet标记
<applet [name=Applet名] code=字节码文件名[.class] [codebase=Applet的URL] [width=像素宽度] [height=像素高度] [alt=替换文件] [align=对齐方式] [vspace=水平间距] [hspace=垂直间距]> [<param name=参数名1 value=参数值1>] [<param name=参数名2 value=参数值2>] …... </applet>
Ch6-5
6.1.1 JavaApplet概述(续3)
stop()方法 离开Applet所在的Web页,装载其它Web页面 时,或者在浏览Applet所在Web时,用浏览器右上角的缩放 按钮浏览窗口大小时,或者关闭该Web页时系统自动调用该 方法。 destroy()方法 当浏览器被关闭时自动调用该方法,完成清 除Applet所占用的所有资源和终止所有Applet实例建立和启 动的子线程等工作。
Ch6-13
6.1.3 JavaApplet的例子(续4)
b1.addActionListener(this); //为按钮注册事件监听程序 tf2.addActionListener(this); //为文本行注册事件监听程序 add(t1);add(tf1); add(t2); add(c1); add(t3); add(tf2); add(b1); } public void actionPerformed(ActionEvent e) { if ((e.getSource()==b1) || (e.getSource()==tf2)) { showStatus("单击事件发生"); } //单击按钮或文本行中按〈回车〉时 } }
Ch6-10
//C6_1.java import java.awt.*; import java.net.*; import java.applet.*; public class C6_1 extends Applet { Image im; public void init() { URL url=getDocumentBase(); String imageName=getParameter("image"); im=getImage(url,imageName); } public void paint(Graphics g) { g.drawImage(im,0,0,300,150,this); //在坐标(0,0)处显示图像,宽度为300,高为150 } }
Ch6-1
Ch6-2
6.1.1 JavaApplet概述
1. Applet类层次结构 java.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.applet.Applet
Ch6-3
6.1.1 JavaApplet概述(续1)
Ch6-16
6.1.3 JavaApplet的例子(续7)
xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter); ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter); xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter); ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter); xh = (int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*30+xcenter); yh = (int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*30+ycenter); g.setFont(new Font("TimesRoman", Font.PLAIN, 14)); g.setColor(Color.blue); g.drawArc(xcenter-50,ycenter-50,100,100,0,360); //画圆和数字 g.setColor(Color.darkGray); g.drawString("9",xcenter-45,ycenter+3);g.drawString("3",xcenter+40,ycenter+3); g.drawString("12",xcenter-5,ycenter-37); g.drawString("6",xcenter-3,ycenter+45);
2. Applet程序特点 (1) 基本的绘画功能 (2) 动态页面效果 (3) 动画和声音的播放 (4) 交互功能的实现 (5) 窗口开发环境 (6) 网络交流能力的实现 3. Applet工作原理 用java.applet.Applet类派生一个public型的子类, 子类名与源程序文件主名相同。将该源程序文件编 译成字节码文件。 在HTML网页中加入Applet标记,引入该字节 码文件。 当用户通过浏览器软件向Web服务器请求该 HTML网页时,含于该网页Applet标记处的字节码 文件随同网页一起被发送到客户端浏览器,并由客 户端浏览器的JVM解释和执行该字节码文件。
Ch6-14
6.1.3 JavaApplet的例子(续5)
例6.3 显示时钟。
C6_3.HTML <html> <applet code="C6_3.class" height=300 width=300> </applet> </html> //C6_3.java import java.util.*; import java.awt.*; import java.applet.*; public class C6_3 extends Applet implements Runnable { Thread timer = null; int lastxs=0, lastys=0, lastxm=0, lastym=0, lastxh=0, lastyh=0; String lasttoday="";
Ch6-7 Ch6-8
5 Applet程序的限制
大多数浏览器都默认地禁止以下操作: (1)运行时执行另一程序。 (2)任何文件的输入/输出。 (3)调用任何本地方法。 (4)尝试打开除提供Applet的主机之外的任何系统的Socket。
6.1.2 JavaApplet的HTML标记与参数传递(续1)
Applet不显示时
init() 创建 Applet start() 运行 Applet
stop()
停止 关闭浏览器时 销毁 destroy() Applet Applet
Applet显示时
start()
Applet生命周期图
Ch6-6
ห้องสมุดไป่ตู้
1
6.1.1 JavaApplet概述 (续4完)
其它常用Applet方法有: getParameter(String) 返回Applet标记中给出的参数值。 getCodeBase() 返回.class文件所在的网址URL。 getDocumentBase() 返回HTML网页的URL。 getAppInfo() 返回作者、版本、版权等信息。 showStatus() 在浏览器的状态栏输出信息。
2. HTML与Applet的参数传递
<applet ……. > [<param name=参数名1 value=参数值1>] [<param name=参数名2 value=参数值2>] …... </applet> 在Applet程序中,用getParameter("参数名")方法可以获 得参数值。