欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    JAVA9Applet程序设计.ppt

    • 资源ID:2201772       资源大小:1.23MB        全文页数:55页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA9Applet程序设计.ppt

    第9章 Applet程序设计,运行Applet HTML中的Applet标记 Applet支持的多媒体技术,Applet,什么是Applet Applet的生命周期,Applet,Applet(Java小应用程序)是能够嵌入到一个HTML页面中,并且可通过Web浏览器下载和执行的一种Java类。 Applet不需要main()方法,由Web浏览器中内嵌的Java虚拟机调用执行。 application 是从其中的main() 方法开始运行的; 而applet 是在浏览器中运行的,必须创建一个html 文件,通过编写html 语言代码告诉浏览器载入何种applet 以及如何运行。,Applet,Applet应用程序的运行原理,Applet,Applet的容器特性,appletViewer,为了简化并提高Applet的开发速度,JDK提供了一个浏览Applet的简易工具:appletviewer appletviewer位于JDK目录下的bin目录中,在Applet中显示当前日期和时间。,import java.util.Date; import java.awt.*; import java.applet.Applet; public class DateApplet extends Applet public void paint(Graphics g) /在Applet上绘图 g.setColor(Color.red); g.drawString(new Date().toString(),20,20); ,超文本文档DataApplet.html,将编译后的字节码文件DataApplet.class嵌入到超文本文档DataApplet.html中,HTML文档如下:, 当前日期和时间 ,超文本文档DataApplet.html,java applet运行被阻止解决方法,【问题描述】 1.8以上版本的java运行时会对applet小程序运行进行安全校验,并自动阻止非可信的applet运行 【解决办法】 1、web方式调用可以按如下方式解决:http:/java.com/zh_CN/download/help/jcp_security.xml 2、本地程序被阻止,则在控制面板-程序- java安全页签中添加file站点配置,“file:/”即可运行本地所有java applet运行,Applet的 安全性,“沙箱”机制:Java虚拟机为Applet提供能够良好运行的沙箱,一旦它们试图离开沙箱则会被禁止。 浏览器禁止Applet执行下列操作: 禁止读写本地计算机的文件系统。 禁止运行任何一个本地可执行文件。 禁止访问用户名、电子邮件地址等与本地计算机有关的信息。 禁止与除服务器外的任何一台主机通信。,8.2.2 Applet的生命周期,在浏览器中运行的Applet是作为浏览器中的一个线程执行的。Applet的生命周期与浏览器息息相关,它何时运行、何时结束都由浏览器控制。 一个Applet对象经历由初始态、运行态、停止态到消亡态的一个生命周期,各状态之间变化由用户对浏览器的操作而触发。,Applet的状态及状态变化,Applet的生命周期,Java.applet.Applet,public void init(),public void destroy(),public void start(),public void stop(),public void paint(Graphics g),2. Applet状态改变时执行的方法,public void init()初始化: 在整个Applet生命周期中,初始化只进行一次. 当第一次浏览含有Applet的WEB页时,浏览器将: a.下载该Applet b.创建对象产生一个该Applet主类的实例 c.调用init()对Applet自身进行初始化 在init()方法中可设置程序初始状态,载入图形或字体,获取 HTML中 设定的参数等。,2. Applet状态改变时执行的方法,public void start()启动Applet: 在整个Applet生命周期中,启动可发生多次 在下列情况下,浏览器会调用start()方法: a.Applet第一次载入时. b.离开该Web页后,再次进入时(back,forward). c.Reload该页面时. d.在浏览含有Applet的WEB页时用浏览器右上角缩放按钮缩放浏览窗口大小时. 在start()方法中可启动一线程来控制Applet,给引入类对象发送消息,或以某种方式通知Java小应用程序开始运行.,2. Applet状态改变时执行的方法,public void stop()停止执行Applet: 在整个Applet生命周期中,停止执行可发生多次. 在下列四种情况下,浏览器会调用stop()方法: a.离开Applet所在 Web页时(用back,forward) b.Reload该页面时 c.在浏览含有Applet的WEB页时用浏览器右上角缩放按钮缩放浏览窗口大小时 d.close该Web页(彻底结束对该页面的访问),exit结束浏览器运行时(从含有该小应用程序的WEB页退出时) stop()挂起小应用程序,可释放系统处理资源。不然当浏览者离开一个页面时,小应用程序还将继续运行。但并没有销毁Applet对象。,2. Applet状态改变时执行的方法,public void destroy()销毁: 销毁Applet对象时,执行destroy()方法,释放占用的系统资源 在整个Applet生命周期中,退出只发生一次 在彻底结束对该Web页的访问和结束浏览器运行时(close exit)调用一次 *destroy()是java.applet.Applet类中定义的方法,只能用于小应用程序,2. Applet状态改变时执行的方法,public void paint(Graphics g)绘制: 可多次发生,浏览器会调用paint()方法: a.Web页中含有Applet的部分被卷入窗口时. b.Applet显示区域在视线内时调整浏览窗口大小、缩放浏览窗口、移动窗口或Reload等需要重绘窗口时都会调用paint()方法. 与前几个方法不同的是,paint()中带有一个参数Graphics g,它表明paint()需要引用一个Graphics类的对象实体. 在Applet中浏览器会自动创建Graphics对象并将其传送给paint()方法;但编程时应在小应用程序中引入Graphics类所在的包 import java.awt.Graphics;,绘图类,public abstract class Graphics extends Object public abstract Color getColor(); /获取当前颜色 public abstract void setColor(Color c); /设置颜色 public abstract void drawLine(int x1, int y1, int x2, int y2); /在两点(x1,y1)、(x2,y2)间画一条直线 public void drawRect(int x, int y, int width, int height) /画矩形 public abstract void fillRect(int x, int y, int width, int height); /填充矩形 public abstract void clearRect(int x, int y, int width, int height); /清除矩形 /(x,y)指定矩形左上角坐标,width、height指定矩形的宽度和高度 public abstract void drawOval(int x, int y, int width, int height); /画椭圆 public abstract void fillOval(int x, int y, int width, int height); /填充椭圆 /(x,y)、width、height指定椭圆外切矩形的左上角坐标、长度和宽度。当width=height时,圆 public abstract void drawString(String str, int x, int y); /在(x,y)指定坐标位置显示字符串 public abstract Font getFont(); /获得字体 public abstract void setFont(Font font); /设置字体 ,在组件上绘图,组件绘图方法 public void paint(Graphics g) /在组件上绘制图形 public void repaint() /调用paint()方法刷新图形 重新绘制图形 绘图坐标系,基本的Applet程序,import java.awt.Graphics; import java.applet.*; public class App11_1 extends Applet public void paint(Graphics g) g.drawString(“Hello Applet!“,50,60); ,Applet 图形绘制,import java.awt.Graphics; import java.applet.*; public class App_2 extends Applet public void paint(Graphics g) g.drawLine(40,30,200,30); g.drawRect(40,50,160,150); g.drawOval(45,55,150,140); g.drawLine(40,220,200,220); g.drawString(“Drawing!“,100,130); ,运行结果如图所示 :,绘制图形的Applet程序 import java.awt.*; import java.applet.Applet; public class App_3 extends Applet public void paint(Graphics g) g.setColor(Color.blue); g.fillRect(40,50,160,150); g.setColor(Color.red); g.fillOval(45,55,150,140); g.setColor(Color.orange); g.fillRect(100,90,40,70); ,运行结果如图所示:,HTML中的标记, /左右宽度 /参数名称和值 /参数名称和值 /参数名称和值 ,基本标记 CODE=”applet程序名.class” ,CODE包含applet程序的主类字节码文件,主类文件名与程序名是一致,“applet程序名.class”真正的含义是“applet的主类文件名.class”。 WIDTH=” pixels”, applet运行环境的窗口宽度,以像素为单位。 HEIGHT=” pixels” ,applet运行环境的窗口高度,以像素为单位。,扩充标记 CODEBASE=”URL”,applet的URL是主类文件所在的位置,用户计算机上是指的路径,网络上是指的网址。主类文件与HTML所在的目录相同时,省略;不同时,必须使用CODEBASE进行描述。 ALT=”alternateText”,当浏览器不支持applet的显示时,则在浏览器上显示alternateText的辅助文本(字符串)。 NAME=”instance name”,为applet设置一个符号名称。同一网页上,两个以上的applet要相互参考时,可使用该符号名称定位。,定位标记 ALIGN=”alignment”,applet在网页上的对齐方式。取值有:left、right、top、bottom、absbottom、middle、absmiddle、texttop、baseline等。 VSPACE=”pixels”,设置applet所保留的左右宽度,只在ALIGN设置为left、right时有效。 HSPACE=”pixels”,设置applet所保留的上下宽度,只在ALIGN设置为top、bottom时有效。,Applet参数 NAME描述了参数的名字 VALUE决定参数的值,值用字符串定义。 (一个标记描述一个参数,多个参数由多个标记描述。) 参数获取 HTML标记定义参数 并由applet的代码接收并分析对应的参数。 Applet的init()方法中使用getparameter()方法获取参数。getparameter()的入口是参数的名字,返回是参数的值。,【例8.3】 Applet从HTML中获取参数。,Java程序设计实用教程(第3版), Applet HTML 页 ,HTML程序,import java.awt.*; public class B extends java.applet.Applet String name; int age=0; public void init() name=getParameter(“name“); String a=getParameter(“age“); age=Integer.parseInt(a); public void paint(Graphics g) g.drawString(“Name:“+name,20,20); g.drawString(“Age:“+age,20,50); ,Applet程序,之后,只要修改HTML文件的参数值,就可以使Applet显示不同字体的不同文本,不需要重新编译Applet程序。,Applet支持的多媒体技术,获得资源文件的地址 显示图像 播放音频,获得资源文件的地址,Applet支持多媒体时,包含图像、音频等文件,当文件较多时,通常将不同类型的文件分类存放在不同的目录中。 问题: HTML文件如何找到嵌入其中的Applet文件 中codebase属性指定 Applet文件如何找到它需要用到的图像、音频等文件,获得资源文件的地址,Applet文件如何找到它需要用到的图像、音频等文件 public URL getCodeBase() /返回当前Applet所在的URL public URL getDocumentBase() /返回当前Applet所在的HTML文件的URL,图像文本放在Applet目录之下的images目录中,则 getCodeBase()+”/ images”,Applet 图像处理,Java中可以直接载入并输出的图像文件格式 Gif Jpeg png Applet的图像是由Image类所创建的对象: Image类是置于java.awt类库中 Applet窗口中加载与显示图像的3个操作: 1. 声明Image类型的变量。 2. 使用getImage()加载图像。 3. 使用drawImage()绘制图像。,在Applet中加载图像,当载入本地计算机上的图像文件时可采用以下方式: Image getImage(URL url,String name);,如果图像文件和Applet位于同一个目录下面,就可以通过getCodeBase()方法获得地址。,若图像文件和包含Applet的HTML文件位于同一个目录下面,可以使用getDocumentBase()获得基地址。,显示图像,Graphics支持显示图像 在paint()方法中,调用Graphics类的drawImage()方法,显示图像 public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer);,Applet窗口中加载图像 import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class App_5 extends Applet Image img; public void init() img=getImage(getCodeBase(),“App_5.jpg“); public void paint(Graphics g) g.drawImage(img, 0, 0,this); ,this指当前显示图像的容器对象,用鼠标移动图像的Applet程序 import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class B extends Applet implements MouseMotionListener,MouseListener Image img; int x=70,y=60; public void init() img=getImage(getCodeBase(),“YYP.jpg“); addMouseListener(this); addMouseMotionListener(this); public void mouseDragged(MouseEvent e) x=e.getX(); y=e.getY(); Graphics g=getGraphics(); update(g); public void paint(Graphics g) g.drawImage(img,x,y,120,60,this); public void mouseMoved(MouseEvent e); public void mousePressed(MouseEvent e); public void mouseReleased(MouseEvent e); public void mouseEntered(MouseEvent e); public void mouseExited(MouseEvent e); public void mouseClicked(MouseEvent e); ,Applet 声音技术,Java支持声音文件格式: Java 2支持“.au”、“.aif”、“.midi”、“.wav” “.rfm”等格式的音频文件。 在Applet中使用java.applet类库里的AudioClip接口就可以播放声音。 AudioClip接口定义了3个方法: loop()循环播放音乐文件 play()播放音乐文件 stop()停止播放音乐文件,播放音频,与显示图像相同,首先读入指定音频文件并生成一个AudioClip对象; 在Applet中装入音频对象 public AudioClip getAudioClip(URL url1, String filename) public AudioClip getAudioClip(URL url2) 然后调用AudioClip的play()和stop()等方法控制音频的播放和停止; Applet类中直接播放音频的方法 public void play(URL url1, String filename) public void play(URL url2),实例 在Applet中加载数字音频,播放方式: 1. 通过Applet类的play方法。 当播放本地计算机上的声音文件时调用格式如下: void play(URL url,String name); 1)当声音文件和applet文件存放在同一目录下时,可以通过方法 getCodeBase()返回当前Applet所在的URL。 2)当声音文件和包含Applet的HTML文件位于同一个目录下面时,可以通过方法getDocumentBase()获得基地址。,【例】 import java.awt.Graphics; import java.applet.Applet; public class Exa8_8 extends Applet public void paint(Graphics g) g.drawString(“音乐欣赏“,20,30); play(getDocumentBase(),“music.au“); ,播放当前路径下的“music.au“声音文件,对应的HTML文件Audio.HTML内容如下: ,程序运行结果如图所示:,问题: 1.play()方法只能将声音播放一次。 2.调用play()方法装载并播放声音文件时,若找不到指定的声音文件,则无法听到声音,但不会产生异常。,在Applet中加载数字音频,播放方式: 2.通过AudioClip类中的方法播放。 AudioClip类包含在java.applet类库中,其播放功能更为强大。为了得到AudioClip对象,可以调用Applet类中的getAudioClip()方法。它能装载指定URL的声音文件,并返回一个AudioClip对象。,在Applet中加载数字音频,当播放本地计算机上的声音文件时调用格式如下: AudioClip getAudioClip(URL url,String name);,创建了AudioClip对象后,声音文件就可以装载了,可调用它的方法处理声音文件。 AudioClip只有3种方法: void play() 播放一遍 void loop() 连续播放 void stop() 停止播放,【例】 import java.awt.Graphics; import java.applet.*; import java.applet.AudioClip; public class Exa8 extends Applet AudioClip Obj_s;,public void init() Obj_s=getAudioClip(getDocumentBase(),“music.wav“); public void paint(Graphics g) g.drawString(“循环播放声音文件!“,10,100); public void start() Obj_s.loop();/循环播放音乐 public void stop() Obj_s.stop();/stop()方法停止播放声音文件 ,程序运行结果如图所示:,/在Applet播放音乐 import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.applet.AudioClip; public class B extends Applet implements ItemListener Image img; AudioClip midi=new AudioClip3; AudioClip current; Choice chc=new Choice(); public void init() img=getImage(getCodeBase(),“yyp.jpg“); midi0=getAudioClip(getCodeBase(),“music1.wav“); midi1=getAudioClip(getCodeBase(),“music2.wav“); midi2=getAudioClip(getCodeBase(),“music3.wav“); chc.add(“music1“); chc.add(“music2“); chc.add(“music3“); add(chc); chc.addItemListener(this); current=midi0; current.play(); ,int index; public void itemStateChanged(ItemEvent e) repaint(); current.stop(); index=chc.getSelectedIndex(); current=midiindex; current.play(); public void paint(Graphics g) g.drawImage(img,0,0,200,200,this); ,

    注意事项

    本文(JAVA9Applet程序设计.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开