JAVA Applet

   一、Applet

    Applet也叫小应用程序,是一种在浏览器环境下运行的java程序。
    在运行Applet时,必须先创建一个HTML文件,在该文件中通过<applet>标记制定要运行的Applet程序名,然后将该HTML文件的URL通知浏览器,最后通过浏览器装入并运行该Applet程序。
    为了编写Applet,必须以下面的形式创建一个类:
    import JAVA.applet.*;
    public class AppletName extends Applet{
    ……
    }
    首先,这个类必须是public类型的,因此,程序文件的文件名必须与类名保持一致。其次,这个类必须是java.awt.Applet类的子类。
    在默认的情况下,Applet使用FlowLayout布局管理器。
    Applet从构造方法开始执行程序,在构造方法执行结束后,浏览器调用Applet的init()方法,该方法完成Applet的初始化操作,在init()方法执行结束后,浏览器又调用一个名为start()的方法。
    不论是init()方法还是start()方法,他们都是在Applet被激活之前执行的,因此不能用它们来实现Applet的功能。在Applet中,没有任何一个方法在程序的生命周期内自始至终一直运行。
    通常在图形环境下,使用Applet的paint()方法绘制要显示的内容,在浏览器中,每当Applet显示内容需要刷新时,paint()方法都会被调用。paint()方法还需要一个java.awt.Graphics类的实例作为参数,利用这个参数可以向Applet显示区域绘制文本信息或图形。
    import java.awt.*;
    import java.applet.*;

    public class HelloWord extends Applet{
        public void paint(Graphics g){
            g.drawString("Hello Word!",25,25);
        }
    }


    二、Applet与生命周期有关的方法

    Applet的生命周期比较复杂,与此相关的方法主要有四个,分别是init(),start(),stop()和
    destroy()。
    (1)init方法
    当Applet对象被创建并被初次装入支持java的浏览器时,init()方法会被调用。init()方法通常用于完成Applet的数据初始化操作。并非每次打开包含Applet的浏览窗口都要调用init()方法,只有一次这样做。
    (2)start()方法
    init()方法执行结束后,start()方法紧接着被调用。当包含Applet的浏览窗口最小化之后再次恢复调用,或者从浏览器的另一个窗口回包含Applet的窗口时,start()方法也会被调用。start()方法通常用于完成诸如启动动画或音乐之类的操作。如
    public void start(){
        musicClip.play();
    }
    (3)stop()方法
    public void stop){
        musicClip.stop();
    }
    (4)destroy()方法
    当浏览器终止Applet时,destroy()方法被调用。


    三、Applet的显示与刷新

    Applet的显示与刷新由一个独立线程控制,称为AWT线程。Applet的显示与刷新的方法有paint()、repaint()和updata()方法。

 

    四、HTML与<applet>标记

    Applet必须通过<applet>标记嵌入到一个HTML文件中,然后由浏览器解释执行。
    <applet>标记的语法:

    <applet
        code = appletFile.class
        width = pixels height = pixels
        [codebase = codebaseURL]
        [alt = alternateText]
        [name = appletInstanceName]
        [align = alignment]
        [vspace = pixels] [hspace = pixels]
    >
        [<param name = appletAttribute1 value = value>]
        [<param name = appletAttribute2 value = value>]
        ……
    </applet>

    (1)code = appletFile.class
    必选项,指定需要运行的Applet的文件名,该文件名也可以使用aPackage.AppletFile.class的形式。注意文件名前面不能有路经,默认情况下,浏览器到HTML文件所在的服务器目录中寻找该Applet文件,即浏览器认为该Applet文件使用与HTML文件相同的URL。如果想要改变Applet文件默认的URL,需要使用后面的codebase。
    (2)width = pixels height = pixels
    必选项,指定Applet显示区域的初始宽度和高度(用像素表示)。
    (3)codebase = codebaseURL
    可选项,为Applet文件制定URL。
    (4)alt = alternateText
    可选项,指定一段可替换文本,当浏览器能理解<applet>标记但不能运行Applet程序时,这段文本可以作为提示显示出来。
    (5)name = appletInstanceName
    可选项,为Applet制定一个名字,使得在同一浏览器窗口中运行的其他Applet能够识别该Applet并可与之通信。
    (6)align = alignment
    可选项,指定Applet的对齐方式,可取值为left,right,top,texttop,middle,absmiddle,baseline,bottom和absbottom。
    (7)vspace = pixels hspace = pixel
    可选项,指定Applet与周围文本的垂直间距和水平间距(用像素表示)。
    (8)param name = appletAttribute1 value = value
    可选项,为Applet指定参数(包含参数的名称和数值)。在Applet中可通过getParameter()方法得到相应的参数。


    五、Applet参数的读取

    在HTML文件中,可以通过<applet>中<param>标记为Applet制定参数。

 

    六、Applet与URL

    在java.net包中定义了一个URL类,该类用于描述网络上某一资源的地址。Applet类中有两个方法可以返回URL对象:
    (1)getDocumentBase()
    返回当前Applet所在的HTML文件的URL。例如:
    URL myPage = getDocumentBase();
    (2)getCodeBase()
    返回当前Applet的URL。除非在<applet>标记中指定了codebase,否则这个URL与HTML文件的URL是一致的。例如:
    URL AppletURL = getCodeBase();
    通过URL对象,可以将声音或者图像加入Applet中。

 

    七、在Applet中显示图像

    在Applet中进行图像的显示时,通常是首先使用Applet类的getImage()方法装载一个Image对象,然后使用Graphics类中的drawImage()方法将该对象画到屏幕上。
    Applet类的getImage()方法有两种形式:
    public Image getImage(URL String name)
    public Image getImage(URL url)
    在第一种形式中,url是路经,name是图像文件名。在第二种形式中,url直接包含了路经和文件名。

 

    八、在Applet中播放声音

    该方法有两种形式:
    (1)public void play(URL url)
    (2)public void play(URL url,String name)
    通常play()方法中的URL参数就是HTML文件的URL,因此可以通过getDocumentBase()方法取得,例如:
    play(getDocumentBase(),"bark.au")
    这条命令用于制定播放HTML文件处于同一服务器目录的bark.au文件。
    除了上面的方法播放声音职务ia,还可以先将声音对象装入内存,然后进行播放。采用这种方式播放声音时,需要使用java.applet.AudioClip中的方法,因此事先需要取得一个AudioClip声音对象。
    (1)AudioClip声音对象
    使用java.applet.Applet类的getAudioClip()方法可以获得AudioClip声音对象。该方法有两种形式:
    public AudioClip getAudioClip(URL url)
    public AudioClip getAudioClip(URL url,String name)
    (2)播放,有两种方法
    sound.play();
    sound.loop();/用于循环播放
    (3)停止播放
    sound.stop();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值