您的位置:首页 > 移动开发

java系统学习(十八) --------Applet设计

2015-10-23 17:29 459 查看
Applet编程是java编程语言中至关重要的独特功能。它不同于一般的Java程序,其能够嵌入到HTML网页中,并由支持Java的Web浏览器解释执行。只有IE浏览器3 .0以上的版本,才支持Java Applet程序。通过这种小应用程序。所设计的网页就能有一定的交互功能。早期的java编程applet应用很多,随着web方面的发展,applet应用已经在减少,逐渐被activeX, flash, js等取代, 这里我们还是大概了解一下。

Applet的基本概念及生命周期

Applet是在Web浏览器中运行的Java小应用程序.它能够嵌入到HTML页面中,并可以通过Web浏览器下载和执行。一个java程序要想运行,必须编写主运行函数,即只要把所有要运行的内容放到主运行函数中,就可以运行。但是在Applet小程序中,并不需要主运行函数,它由Web浏览器中的Java虚拟机调用执行。

Applet类位于java.applet包中,由于其继承自Panel类,所以也是一个容器,可以包含AWT组件。为了能够对Applet有一个很好的理解,先看个很简单的实例,学习如何编写Applet应用程序。

import java.applet.*
public class testl extends Applet   //继承Applet类
{
}
然后在同一个目录中,建立一个以HTML为扩展名的文件。

<html>
<body>
<Applet  code="testl.class"  width="200"  height="200">
</Applet>
</body>
</html>
最后在DOS窗口中,使用如下命令。

Appletviewer 以html为扩展名的文件名

在Applet程序中,不需要主运行函数,取而代之的则是使用init(), start(), stop()和destroy()方法。下面介绍这几个函数。

口public void init():完成Applet的初始化操作。

口public void start():启动浏览器运行Applet程序。

口public void stop():暂停Applet的执行。

口public void destroy():撤销Applet的执行。

这4个函数也就形成了Applet的生命周期。它们的执行步骤如下:

加载Applet类--创建Applet对象(调用构造器)--init()--Start()

Applet的多媒体处理

声音处理

处理声音和图像是Applet兴起的原因。本节将会通过实例,学习如何针对这些多媒体的内容进行处理。其实多媒体的处理不是一件很难的事情,关键在于函数的调用。

Java可以播放的声音文件格式有AIFF, AU, WAV, MIDI, RMF等。Applet包中的AudioClip接口包含了与声音相关的API,它可以实现声音文件的反复播放,在需要的时候.可

以停止声音文件的播放。AudioClip接口中的一些常用的方法如下。

口void play():播放声音文件一次。

口void stop():停止播放声音文件。

口void loop():循环播放声音文件。

若想播放声音文件,只需从Applet对象中获取AudioClip对象即可,在Applet类中有一些与AudioClip接口相配合的方法,具体如下所示。

口public void play(URL url):播放指定url处的声音文件。

口public void play(URL url,String name):播放指定位置url处、名称为name的声一音文件。

口public final static AudioClip newAudioClip(URL url):获取可用于播放指定位置url处声音文件的AudioClip对象。

口public AudioClip getAudioClip(URL url),public AudioClip getAudioClip(URL url,string name):都是获取播放指定位置声音文件的AudioClip对象。

图像处理

无论是处理声音还是处理图像,最关键的就是把握好函数的运用。Applet类中与图像处理有关的方法如下。

口public Image getImage(URL url):获取url指定的图像对象。

口public Image getImage(URL url,string name):使用指定的url及name,获取图像。

与Applet类有关的相关位置的方法如下。

口public URL getCodeBase():获取Applet Code位置URL。

口public URL getDocumentBase():获取Web页位置URL。

如何用Applet控制浏览器

在API中有一个类:AppletContext类,利用此类,不仅可以控制浏览器,也可以控制同一网页中其他的Applet。下面列举AppIetContext类的常用方法。

口void showDocument(URL url):显示url指定的网页。

口public void showDocument(URL url,String target):将url指定的Web页面显示于目标窗口中。

口Applet getApplet(String name):获取同一网页中名为name的Applet。

口Enumeration getApplets():获取同一网页中的所有的Applet。

口void showStatus(String status):在浏览器的状态栏中显示status字符串。

Applet的安全

当访问包含Applet的网页的时候,不管愿意还是不愿意,网页中的Applet都会被下载并且运行。如果程序员设计一个恶意的Applet,那么用户访问这个网页的时候,就会对用户进行攻击。

为了能解决上面这个问题,Applet已经提供了安全的保障,以防止其内含威胁用户安全的代码。

Applet包含下列安全事项:

口Applet无法运行用户计算机中的程序。

口Applet无法访问用户计算机中的文件。

口Applet无法获取用户计算机中的大部分信息、。

口Applet无法调用用户计算机中的native method。

口Applet只能与提供本Applet的服务器进行通信。

例子

Java文件

//导入包
import java.applet.*;
import java.awt.*;
public class test2 extends Applet{  //Applet程序
AudioClip voice;    //创建一个AudioClip对象voice
public void init(){       //初始化方法
//为对象voice赋值,实现播放音乐
voice=getAudioClip(getCodeBase(),"ding.wav");
}
public void   start(){//运行时方法
voice.loop(); //设置音乐循环播放
}

public void   stop()(       //暂停方法
voice.stop();  //设置音乐停止播放
}

}


在同一个目录下创建一个HTML文件如下:

<html>
<body>
《-加载test2.class文件-》
<Applet code="test2 .class" width="200" height="200">
</Applet>
</body>
</html>


当运行时,程序会不断地播放ding.wav这个声音文件,直到转到其他页面,才会停止播放音乐。

常见问题

浏览器如何运行Applet

首先,确定Applet已经被编译为 .class文件,然后编写一个*.htm文件(扩展名也可以是.html),代码如下:

<html>

<body>

<Applet code="..\..\myclass\MyJavaApplet.class" height=200 width=300>

</Applet>

</body>

</html>

如果HTML文件和class文件在同一个目录下,则不用写路径名,直接写“My.IavaAppletclass”即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: