| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
 
 
您现在的位置: 编程中国 >> 技术教程 >> 开发语言 >> JAVA >> JAVA教程 >> 正文
  ►  JAVA教程 第六讲 Java的线程和Java Applet
JAVA教程 第六讲 Java的线程和Java Applet
作者:许斌    阅读人次:……    文章来源:清华大学计算机系&清华同方股份有限公司    发布时间:2004-10-2    网友评论()条
 



  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文件标记。

  <applet>
  [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] //预留的边缘空白
  >
  [<param name=appletAttribute1 value=value>]
  [<param name=appletAttribute2 value=value>]
  …… //参数名称及其值
  [alternateHTML]
  </applet>

注意:
  1)不支持Java的浏览器会把<applet></applet>之间的普通HTML文档显示出来;支持Java的浏览器,则把其中的普通HTML文档忽略。
  2)AppletViewer仅支持<applet> </applet>标记,其它标记不会被显示出来。

  经过精心设计,可以使java程序同时是Applet与Application,如下例所示:

 例6.9
   import java.awt.*;
   import java.awt.event.*;
   public class AppletApp extends Applet {
      public void main(String args[]) {
        Frame frame=new Frame("Application"); //构造一个Frame
        AppletApp app=new AppletApp();
        frame.add("Center",app);
        frame.setSize(200,200); //改变Frame的尺寸

   frame.validate();
   frame.setVisible(true); //使Frame可见
   frame.addWindwoListener(new WindowControl(app));
                    //给Frame加入监听器

   app.init(); //初始化Applet
   app.start(); //运行该Applet
   }
      public void paint(Graphics g) { //重画方法
        g.drawString("hello world",25,25);
      }
      public void destroy(){
        System.exit(0);
      }
   }

   class WindowControl extends WindowAdapter { //监听器类
      Applet c;
      public WindowControl(Applet c) { //构造函数
        this.c=c;
      }
      public void windowClosing(WindowEvent e) {
                   //关闭窗口时调用的方法

        c.destroy( );
      }
   }

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

 

 
文章录入:静夜思    责任编辑:静夜思 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子