网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:JAVA教程 第六讲 Java的线程和Java Applet 下一篇:JAVA教程 第七讲 Swing用户界面设计(一)
JAVA教程 第六讲 Java的线程和Java Applet(二)

来源: 作者: 添加日期:2005-9-4 19:19:56 点击次数:


 ◇ Applet的主要方法:

  1. init( )
  创建Applet时执行,只执行一次
  当小应用程序第一次被支持Java的浏览器加载时,便执行该方法。在小应用程序的生命周期中,只执行一次该方法,因此可以在其中进行一些只执行一次的初始化操作,如处理由浏览器传递进来的参数、添加用户接口组件、加载图像和声音文件等。
小应用程序有默认的构造方法,但它习惯于在init()方法中执行所有的初始化,而不是在默认的构造方法内。

  2.start( )
  多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行。
  系统在调用完init()方法之后,将自动调用start()方法。而且每当浏览器从图标恢复为窗口时,或者用户离开包含该小应用程序的主页后又再返回时,系统都会再执行一遍start()方法。start()方法在小应用程序的生命周期中被调用多次,以启动小应用程序的执行,这一点与init()方法不同。该方法是小应用程序的主体,在其中可以执行一些需要重复执行的任务或者重新激活一个线程,例如开始动画或播放声音等。

  3.stop( )
  多次执行,当浏览器变成图标时,或者是离开主页时执行,主要功能是停止一些耗用系统资源的工作,。
  与start()相反,当用户离开小应用程序所在页面或浏览器变成图标时,会自动调用stop()方法。因此,该方法在生命周期中也被多次调用。这样使得可以在用户并不注意小应用程序的时候,停止一些耗用系统资源的工作(如中断一个线程),以免影响系统的运行速度,且并不需要去人为地去调用该方法。如果你的小应用程序中不包含动画、声音等程序,通常也不必重载该方法。

4.destroy( )
  用来释放资源,在stop( )之后执行
  浏览器正常关闭时,Java自动调用这个方法。destroy()方法用于回收任何一个与系统无关的内存资源。当然,如果这个小应用程序仍然处于活动状态,Java会在调用destroy()之前,调用stop()方法。

  下面的例子使用了小应用程序生命周期中的这几个方法。
 例6.8
  import java.awt.Graphics;
  import java.applet.Applet;
  public class HWloop extends Applet {
     AudioClip sound; //声音片断对象
     public void init( ){
        sound=getAudioClip("audio/hello.au"); //获得声音片断
     }
     public void paint(Graphics g) {
        g.drawString("hello Audio",25,25); //显示字符串
     }

  public void start( )
     {
        sound.loop( ); //声音片断开始播放
     }
  public void stop( )
     {
        sound.stop( ); //声音片断停止
        }
  }

  在本例子中,Applet开始执行后就不停的播放声音,如果浏览器图标化或者是转到其它页面,则声音停止播放;如果浏览器恢复正常或者是从其它页面跳回,则程序继续播放声音。

  由于Applet程序要嵌入到HTML文件中才能够正常执行,下面介绍与Applet程序有关的HTML文件标记。

  
  [archive=archiveList] //同一个codebase中需预先下载的文件
  code=appletFile.class //applet的名称
  width=pixels height=pixels //applet的初始显示空间
  [codebase=codebaseURL] //代码的地址
  [alt=alternateText] //如果浏览器不支持applet时,显示的替代文本
  [name=appletInstanceName]
           //给该applet取名,用于同页面applet之间的通信

  [align=alignment] //对齐方式,如left,right,top,baseline...
  [vspace=pixels] [hspace=pixels] //预留的边缘空白
  >
  []
  []
  …… //参数名称及其值
  [alternateHTML]
  

注意:
  1)不支持Java的浏览器会把之间的普通HTML文档显示出来;支持Java的浏览器,则把其中的普通HTML文档忽略。

本新闻共6页,当前在第2页  1  2  3  4  5  6  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |