zoukankan      html  css  js  c++  java
  • 从零开始学Java 第14章 Applet程序

    第14章  Applet程序
    Java中有两种类型的程序,Application(应用程序)和Applet(小程序)。前面写的程序都属于应用程序。实际上,在Java发展的早期,是Applet带来了Java如此大甚至有些言过其实的名声,Sun公司希望通过Applet可以把应用程序都放在网上,这样用户不用安装就能使用。不过由于目前的网络速度的限制以及其它一些因素Applet并不能做到这一点,甚至随着其它语言的出现发展,Applet的本来一些应用也被取代了。反倒是在Web开发方向,Java大展身手。虽然如此,本书还是单独拿出一章来讲解Java的Applet。
    14.1  Applet基础
    Java Applet小程序是嵌入在HTML文档中的Java程序。在这一节里主要介绍一些Java Applet的基本知识。先会用Applet来实现一个简单的HelloWorld程序,然后介绍Applet的机制以及它的声明周期。读者看过本节以后会对Applet有一个大体的认识。
    14.1.1  用Applet实现HelloWorld
    Applet的运行方法有很多,下面对这几种方法都做下介绍。
    (1)在Eclipse中编写Applet,编写完成后直接右击源文件,选择run as的Java Applet命令即可。
    (2)Applet程序是放在浏览器中运行的。
    (3)用Java提供的工具运行。在命令行中进入上面的文件存放的目录,输入appletviewer HelloWorld.htm。
    (4)上面的方法都略显复杂(当然不包括使用Eclipse的情况)。
    14.1.2  Applet的体系结构
    所有的Applet都是Applet的子类,所以编写Java的Applet时候必须导入java.applet。同时也必须导入java.awt即Abstract Window Toolkit。因为Applet程序都是在窗口中运行的,必须要包括运行它的窗口的支持。
    Applet继承了AWT类的Panel,Panel继承了Container,Containers继承了Component。由于这些类支持java图形接口,这样Applet就获得了窗口的支持。Applet不是AWT的一部分,但是Applet是一个AWT组件。
    14.1.3  Applet的生命周期
    由于Applet的继承关系,它继承了它的父类的一些方法。可以使用这些类提供的各种方法来满足Applet程序的应用要求。
    Applet类提供了四个方法:init、start、stop和destroy。还有一个重要方法paint方法是由Component类定义的,所有的这些方法都有默认的实现,Applet类可以对它们进行重写。
    Applet启动的顺序是init()、start()、paint()。当需要结束一个Applet程序的时候它调用的顺序是stop()、destroy()。
    14.1.4  paint方法、update方法和repaint方法
    在Component类中提供了paint方法,此外还定义了两个其它的方法用于绘制窗口。update方法和repaint方法,它们的定义如下:
    public void update(Graphics g)
    当需要对窗口的一部分进行重画的时候,可以调用这个方法。但是使用的时候需要对该方法进行重写。Component的update方法调用此组件的paint方法来重绘此组件。

    14.2  Applet的使用细节
    上一节讲解了Applet的基础知识。主要包括Applet的体系结构、生命周期以及Applet几个非常重要的方法如paint方法、update方法和repaint方法。这一节将会讲解Applet的进一步的深入使用。
    14.2.1  HTML的Applet标记的使用
    Applet的出现之初就是要嵌入到网页文件中来使用的。所以需要在HTML文件中对Applet进行一些列的设置,这一小节主要对Applet标记进行介绍。对Applet的一系列设置是放置在一个Applet块中的,它的基本格式如下面的形式。
    14.2.2  参数的传递
    Applet是嵌入到HTML文件中使用的,有时候它需要传递一些参数给小程序。以便于小程序能够根据一些实际情况进行运行,而不是只有单一的模式。这就需要使用前面说到的param选项来进行参数的传递。
    14.2.3  状态栏的使用
    在浏览器的状态栏可以显示如Applet的运行情况。如前面的程序中,注意图片的最下部显示的信息。如“小应用程序notinited”“小应用程序UseParam started”这些就是程序的运行状态。Applet提供了一个方法修改当前的状态栏,showStatus()方法。
    14.3  在Applet中使用多媒体
    在Applet可以处理图像和声音,这样能丰富网页的内容。Applet可以处理的图像格式包括GIF和JPEG,可以处理的声音文件包括AU、AIFF、MIDI和WAV格式。这一节会对多媒体的使用进行简单的介绍。
    14.3.1  路径获取方法getCodeBase()和getDocumentBase()
    程序有时候需要加载声音与图像等多媒体文件和文本文件。Java中可以从启动Applet的HTML文档所在的路径加载文件。这样就需要获得Applet所在的文件夹路径,在Applet中提供了两个方法getDocumentBase()和getCodeBase()方法返回记录文件路径的URL。

    14.3.2  Applet上下文接口AppletContext
    AppletContext接口定义了从Applet执行环境中获得上下文信息的一系列方法。读者可以自行查阅API文档了解相关信息。这里主要简单的介绍一个方法showDocement(URL)显示URL处的文档。

    14.3.3  在Applet中使用音频
    Applet提供了getAudioClip方法用以获得声音文件。它的使用方法如下:
    AudioClipe ac=getAudioClip(getDocumentBase(),”文件名”);
    其中AudioClipe是一个接口,它定义了一些方法,如play(播放)、stop(停止)和loop(循环)方法。加载文件之后就可以调用这些方法。

    14.4  小结
    在Java发展的初期,正是Applet给它带来了旺盛的生命力。本章主要介绍了Applet的体系结构生命周期这些基本知识,对Applet的基本方法进行了简单介绍并举例子进行了说明。然后讲了在HTML文件中Applet的使用,主要有HTML代码的使用和参数的传递以及状态栏的使用。最后一节是Applet中多媒体的使用,其实Applet对多媒体的应用提供了强大的支持,但是本节限于篇幅,只是对基本的内容进行了介绍。如果读者对该内容感兴趣,可以参考相关书籍资料,进一步学习。

  • 相关阅读:
    基本MVVM 和 ICommand用法举例(转)
    WPF C# 命令的运行机制
    628. Maximum Product of Three Numbers
    605. Can Place Flowers
    581. Shortest Unsorted Continuous Subarray
    152. Maximum Product Subarray
    216. Combination Sum III
    448. Find All Numbers Disappeared in an Array
    268. Missing Number
    414. Third Maximum Number
  • 原文地址:https://www.cnblogs.com/yoogoo/p/2467276.html
Copyright © 2011-2022 走看看