第18章 applet和多媒体

1、applet与应用程序:
     :共享许多通用的程序设计特性
     :applet不需要main方法,可以在Web页面调用。每个applet都是java.applet.Applet的子类。Applet类是一个AWT类,不能和Swing组件一起工作。如果要在applet中使用Swing组件,需要通过扩展javax.swing.JApplet来创建一个applet。
     转换:每一个java GUI程序都可以通过将JFrame替换成JApplet同时删除main方法转换为一个applet,就像JFrame一样,JApplet也是一个可以包含其他GUI组件的容器。

2、HTML文件和<applet>标记:
<html>
          <head>
               <title>标题</title>
          </head>
          <body>
               <applet
                    code="***.class"
                    width=***
                    height=*** 
                    alt="***" >
               <param name=param_name1 value=param_value1 >
               </applet>
          </body>
     </html>



3、从Web浏览器查看applet:
     *.class和*.html都存在一个Web服务器上

4、使用applet查看器工具查看applet:
     在DOS命令行中,从所在目录使用appletviewer命令就可以调用该工具,相当一个Web浏览器

5、applet安全限制:
     java使用“沙盒安全模型”来执行applet

6、让applet像应用程序一样运行
     Web浏览器使用applet的无参数构造方法来创建applet的一个实例,然后控制和执行这个applet。
     转换为应用程序:      
//添加并实现一个main方法
          public static void main(String[] args) {
          JFrame frame = new JFrame("Applet is in the frame" );
          Myapplet applet = new Myapplet();
          frame.add(applet,BorderLayout. CENTER);
          applet.init();
          applet.start();
          frame.setSize(300,300);
          frame.setLocationRelativeTo( null);
          frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
          frame.setVisible( true);
     }


7、applet生命周期方法
     applet是从applet容器(applet container)运行的,这个容器是Web浏览器的一个插件。类Applet包括init()、start()、stop()、destroy()方法,这些都称为生命周期方法。
 
     init():初始化过程,从HTML网页的<applet>标记中获取字符串参数值。
     start():当用户浏览过其他页面之后返回到包含这个applet的Web页面是,该方法会被调用。如果还有任何需要完成的操作,Applet的子类就会覆盖这个方法。如:一个带动画的applet可以启动定时器来重新开始动画。
     stop():在用户离开这个网页时调用的,如果还有需要执行的操作,同样也会被覆盖。如:带动画的applet可能会停止定时器来暂停动画。
     destroy():浏览器正常退出时调用,释放占有的资源。stop()总是在它之前调用。

8、给applet传递字符串:
     为了从applet中读取参数,使用:
           public String getParameter(String parametername);
     它会返回指定参数的值。Applet类的getParameter方法只能在创建一个applet的实例之后调用,因此,不能在applet类的构造方法中调用,应该从init方法中调用它。

9、使用URL类定位资源:
     java.net.URL类能用来确定互联网或本地机器上文件:
           java.net.URL url=this. getClass().getResource( "1.jpg");
     getClass()方法返回java.lang.Class类的一个实例,当每个类被载入内存时,java虚拟机就会为它创建一个实例(即元对象),它包括了关于类文件的信息,如类名、构造方法和方法。可以调用元对象上的getResource(filename)方法获取类目录中一个文件的URL。

10、在任意java程序中播放音频:
      使用java.applet.Applet类中的静态方法newAudioClip():
            AudioClip audioClip=Applet.newAudioClip(url );
     使用java.applet.AudioClip中的play()、loop()和stop()方法可以操控音频剪辑中的声音。
      play():播放一次
      loop():重复播放
      stop():停止播放
     

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值