Download presentation
Presentation is loading. Please wait.
1
Java语言程序设计 第八部分 Applet小程序
2
Applet小程序 第一讲 什么是Applet
3
Internet 计算机网络与Internet TCP/IP Internet地址 Internet提供的服务 客户-服务器模式
IP地址,形如xxx.xxx.xxx.xxx 域名系统。例如 Internet提供的服务 全球信息网(WWW)、电子邮件( )、文件传输(FTP)、远程登录(Telnet)等。 客户-服务器模式
4
WWW浏览 WWW HTTP Web站点、Web页 HTML 浏览器 URL
传输协议 :// 主机 [: 端口] [/ 文件] [# 引用]
5
HTML <Html> <Head> <Title>页标题</Title>
<Body> 主体 </Body> </Html>
6
什么是Applet Applet的安全性问题
Applet是使用Java语言编写的一段代码,它可以在浏览器环境中运行。它与应用程序的区别主要在于执行方式的不同。 Applet的安全性问题 Java语言提供了一个SecurityManager类,它几乎可以控制Java虚拟机的所有系统级调用。该机制被称为“沙箱”安全机制——一旦Applet试图离开沙箱则立即会被禁止。 一般浏览器都会禁止小程序的以下操作: 在运行时调用其他程序; 文件读写操作; 调用任何本地方法; 试图通过其他套接字(socket)进行网络通信
7
什么是Applet Applet之于Java的作用 Applet的容器特性 Applet程序 在Applet中显示当前日期和时间。
import java.util.Date; import java.awt.*; import java.applet.Applet; public class DateApplet extends Applet { public void paint(Graphics g) g.setColor(Color.red); g.drawString(new Date().toString(),20,20); }
8
什么是Applet
9
Applet方法 init()方法 start()方法
当Applet被创建且第一次被支持Java的浏览器载入时,便执行该方法。在Applet的生命周期中,只执行一次该方法,因此可以在其中进行一些只需执行一次的初始化操作,例如载入图像等。 start()方法 系统在调用完init()方法之后,将自动调用 start()方法。而且,每当浏览器从图标恢复为窗口时,或者用户离开包含该Applet的主页后再返回时,系统都会再执行一遍start()方法。 start()方法在Applet的生命周期中可以调用多次。
10
Applet方法 stop()方法 destroy()方法
在用户离开Applet所在页面或浏览器变成图标时,要调用stop()方法。因此,stop()也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,并且不需要人为地去调用该方法。如果你的Applet中不包含动画、声音等程序,通常也不必重写该方法。 destroy()方法 当浏览器中止此Applet时自动调用。
11
Applet的生命周期 Applet的状态及状态变化
12
Applet小程序 第二讲 编写Applet
13
编写Applet 如何编写Applet程序 如何执行Applet小程序 import java.awt.*;
import java.applet.*; public class HelloWorld extends Applet{ String hw_text; public void init(){ hw_text="Hello World"; } public void paint(Graphics g){ g.drawString(hw_text,25,25); 如何编写Applet程序 Applet类的子类 完成init、start、stop、paint等方法 如何执行Applet小程序 HTML中的<applet>标记 <html> <applet code=HelloWorld.class width=400 height=400> </applet> </html>
14
HTML中的Applet标记 <Applet code=编译后的字节码文件名 width=宽度 height=高度
[codebase=Applet的URL] [alt=替换文本] [name=Applet名] [align=对齐方式] [vspace=水平间距] [hspace=垂直间距] > [<param name=参数1 value=参数值>] [<param name=参数2 value=参数值>] </Applet> 示例:Applet从HTML中获取参数。 AppletPara.java JAppletPara.java
15
向Applet传递参数 可以通过param标记向Applet传递参数 使用getParameter()方法读取这些参数值
参数类型为String类型。如果希望得到其他数据类型的参数,则必须对其进行转换。 如果参数名无法在<applet>、</applet>对中的<param>标记内找到,则getParameter() 方法将会返回null。
16
Applet的显示与刷新 除了生命周期中的基本方法,Applet中还有几个与显示相关的方法。这些方法是由Component类提供的,且处理AWT绘图时作用各不相同。 它们分别是 paint 方法、update 方法和repaint方法。 显示更新是由一个AWT线程来控制完成的。该线程主要负责两种与显示更新相关的情况: 第一种情况被称为曝光,表示部分显示区域毁坏或需要清除。这种情况随时会发生,需要系统调用paint()方法; 第二种情况是程序决定重画显示区域,添加一些新的显示内容,此时需要程序调用repaint()方法。
17
Applet的显示与刷新 paint方法 update方法
在paint()方法中进行绘图具体操作。但是 Component类只提供了paint()方法的架子,并未实现任何操作,即实际上进行了空操作,而没有在组件中绘制具体图案。如果希望在组件中绘图,须重写paint()方法,编写自己的程序段。 update方法 update()方法用于更新图形。它首先清除背景,然后设置前景,再调用paint()方法完成组件中的具体绘图。通常不改变update()方法。
18
Applet的显示与刷新 repaint方法 Graphics对象
repaint()方法主要用于重绘图形。在组件外形发生变化,即大小改变或位置移动时,repaint()方法立即被系统自动调用。它调用update()方法以实现对组件的更新。 Graphics对象 要进行绘图,首先要找到一个Graphics类的对象。update()方法和paint()方法所传递的参数都是Graphics类的对象,因此,主要是通过重载它们来进行绘图。这是在动画程序中经常使用的方法。我们还可以通过 getGraphics()方法得到一个Graphics类的对象,这个对象和update()方法和paint()方法中所传递的对象一样,都是该成员所对应的 Graphics类的对象。得到了Graphics类的对象,就可使用各种绘图方法。
19
获得资源文件的地址 返回当前Applet所在的URL 返回当前Applet所在的HTML文件的URL
public URL getCodeBase() 返回当前Applet所在的HTML文件的URL public URL getDocumentBase()
20
显示图像 Applet类读入图像文件 Graphics支持显示图像 示例
public Image getImage(URL url1, String name) public Image getImage(URL url2) Graphics支持显示图像 public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer); 示例 HwImage.java
21
播放音频 Applet类中直接播放音频的方法 AudioClip接口提供对音频对象的控制 在Applet中装入音频对象 示例
public void play(URL url1, String filename) public void play(URL url2) AudioClip接口提供对音频对象的控制 void play(); //播放音频一次 void loop(); //循环播放音频 void stop(); //停止播放音频 在Applet中装入音频对象 public AudioClip getAudioClip(URL url1, String filename) public AudioClip getAudioClip(URL url2) 示例 HwAudio.java
22
事件处理 Applet中的事件处理与Application中相同 示例 HwMouse.java
Similar presentations