




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南科技大学网络教育系列课程 高级语程序设计(Java),第十二章 Java Applet,Applet概述 Applet是用Java编写的小应用程序,它能够嵌入在HTML网页中,并由支持Java的Web浏览器来解释执行。 Applet最早是用于应用程序的发布,这一功能已被Java Web Start代替。 现广泛用于主从架构或网络程序设计。,Applet的工作原理,首先确定Applet的存在(*.class文件)。 使用Applet,格式: ,Applet和HTML,定义调用的Applet程序名,注意全名和大小写。,浏览器不支持Applet时,显示的代替文字。,Applet的安全机制 从Web上下载的java applet是在称为沙箱 (sandbox)的安全环境中运行。 applet绝不能运行任何本地可执行程序。 applet除了可以与从中下载它们的服务器进行通信外,不能与任何主机通信。 applet不能读写本地计算机的文件系统。 applet不能获取除版本等以外的任何关于本地计算机的信息。 applet弹初式窗口都回带有一个警告信息。 applet可以使用签名方式来获取更大的权限。,Applet的生命周期,Applet主要方法 根据执行过程中发生的事件来定义生命周期,对于每个事件将自动调用一种方法。 init():初始化时调用,主要是创建所需要的对象、设置初始状态、设置参数等。 start():调用init方法之后自动调用这个方法。 stop():退出网页时停止执行Applet程序。 destroy():离线时释放本对象及其相关的资源。 paint(Graphics g):绘制Applet图形。,Applet图形的显示和刷新 Applet图形的显示和刷新由三个方法完成:paint(),repaint(),update(),都是从ponent类继承来的 Applet图形的显示和刷新由一个独立线程控制,称为AWT线程 如果Applet部分显示内容被其他窗口覆盖,那么其他窗口移开或关闭时,曾被覆盖部分必须重画,此时AWT线程会自动调用paint()方法 程序更新显示内容,可以使用repaint()方法通知系统要更新显示的内容,此时AWT线程会自动调用update()方法清空当前画面,然后调用paint()方法绘制新的内容,Applet的创建 编写Applet时,必须注意下列问题 在Applet原程序文件中的开始,必须包含一些包,即有如下语句: import java.applet.* 或 import java.applet.Applet,必须有一个类声明为public,而且文件名必须与类名保持一致,该类必须继承自java.applet.Applet,完整的声明如: public class MyFirstApplet extends Applet,Applet的结构,import java.awt.*; import java.applet.*; public class AppletClassName extends Applet public void init() /初始化变量、装载图片、读取参数值等 public void start() /启动程序执行或恢复程序执行 public void stop() /挂起正在执行的程序,暂停程序的执行 public void destroy() /终止程序的执行释放资源 public void paint(Graphics g) /完成绘制图形等操作 ,import java.awt.Graphics; import java.applet.Applet; public class JavaApplet extends Applet String print_text; public void init() print_text = “Java Applet“; public void paint(Graphics g) g.drawString(print_text, 20, 20); ,Applet示例,重写了Applet类的init( ) 方法。,覆盖了Applet类的paint( )方法。,用于在屏幕上给定的位置绘制字符串,Applet 和Application,网页向Java Applet传值,在超文本中使用若干个标志把值传递到Java Applet中,实现动态地向程序传递信息,不必重新编译程序,便于程序的维护和使用。,如: ,public String getParameter(String name) 如:String s1 = this. getParameter(“girl”);,Java Applet中播放声音,用Java可以编写播.au .aiff .wav .midi .rfm格式的音频。 在Java Applet中播放声音,可以使用Applet的一个方法: 静态的方法: newAudioClip(URL url,String name) 实例方法: getAudioClip(Url url,String name) 处理声音文件的方法 play() 播放声音文件 loop() 循环播放 stop() 停止播放。,Java Applet中使用AWT组件,Applet类是容器类Container的间接子类。 可以在这个容器中添加组件,处理组件事件。 目前的浏览器仅仅支持JDK1.1版本中的类库,Java Applet中只能使用JDK1.1版本公布的java.awt包中的组件。,如: public void init() add(new Button(“Test”); ,Applet的默认布局为FlowLayout,Java Applet中使用Swing组件,SDK1.4以后的版本,浏览器中的JVM就会被更新为当前SDK所带的JVM。 浏览器就可以使用javax.awing包中的组件。 使用javax.swing包中的组件时,Java Applet的主类应当是JApplet的子类。 JApplet是Applet的一个直接子类,在javax.swing包中。,JApplet新特性: 不可以把组件直接添加到JApplet容器中。 JApplet容器也含有一个称为内容面板的容器,应当把组件添加到内容面板中。 不能为JApplet容器设置布局,而应当为JApplet容器的内容面板设置布局。 内容面板的默认布局是BorderLayout布局。 JApplet容器通过调用方法: getContentPane(),得到内容面板。,Java Applet中绘制图形,绘制文本 使用drawString方法在屏幕上显示字符串对象。 drawString(String s, int x, int y):从参数x、y指定的坐标位置处,从左向右绘制参数s指定的字符串。 drawChars(char data ,int offset, int length, int x, int y):绘制data数组中的部分字符。 length指定数组中要连续绘制的字符的个数。 offset是首字符在数组中的位置 。,绘制直线 drawLine(int x1,int y1,int x2,int y2):绘制从起点(x1,y1)到终点(x2,y2)的直线段。 绘制矩形 drawRect (int x,int y,int w,int h):绘制矩形。 fillRect (int x,int y,int w,int h):填充矩形。 矩形的左上角的坐标由参数x、y指定,矩形的宽和高由参数w、h指定。,绘制圆角矩形 drawRoundRect(int x,int y,int w,int h,int arcW,int arcH):绘制圆角矩形 fillRoundRect(int x,int y,int w,int h,int arcW,int arcH):填充圆角矩形 参数arcW、arcH指定圆角的尺寸。 绘制椭圆 drawOval(int x,int y,int w,int h):绘制椭圆。 fillOval(int x,int y,int w,int h):绘制填充椭圆。 x、y给出椭圆距x轴和y轴的距离,参数w、h给出椭圆的宽和高。,绘制圆弧 圆弧就是某个椭圆的一部分。 drawArc(int x,int y,int width,int height,int starAngle, int arcAngle):绘制圆弧。 fillArc(int x,int y,int width,int height,int starAngle,int arcAngle):填充圆弧。 x、y、width、heigth指定圆弧的位置和大小。 参数starAngle和 arcAngle的单位都是“度”。 参数starAngle,arcAngle表示从starAngle的角度开始逆时针或顺时针方向画arcAngle度的弧。,正值,负值,Java Applet中绘制图像,图像是矩形内的一组像素。 Java支持两种主要的图像格式: GIF JPEG Applet类提供了一个重要的方法: public Image getImage(URL url,String name):返回可以被显示在屏幕上的Image对象的引用,即将URL地址中,文件名为name的文件加载的内存,并返回该内存的首地址。,Java Applet显示java目录中的图像的方法: public URL getCodeBase():返回一个URL对象,该对象包含Java Applet 所在的目录。,public URL getDocumentBase():返回一个嵌入Java Applet的网页的URL对象。 public boolean drawImage(Image img,int x,int y,ImageObserver observer):绘制img对象。 x,y是要绘制指定图像的矩形的左上角所处的位置。 observer是加载图像时的图像观察器。,Applet类已经实现了ImageObserver接口,它可以作为加载图像时的图像观察器。 将this作为最后一个参数传递给drawImage()便可将Applet对象传递过去, public void paint(Graphics g) g.drawImage(img,0,3,this); ,public boolean drawImage(Image img,int x,int y,int width ,int height , ImageObserver observer):在矩形内绘制加载的图像。,获取图像的属性: img.getHeight(this):获取被加载的图像的高。 img.getWidth(this):获取被加载的图像的宽。,例: public void init() img1 = getImage(getCodeBase(),“tom.jpg“); img2 = getImage(getCodeBase(),“jerry.jpg“); public void paint(Graphics g) g.drawImage(img1,0,0,100,100,this); g.drawImage(img2,120,120,200,100,this); ,Java Applet 播放幻灯片和动画,Java Applet播放幻灯片 在HTML中播放图像切换幻灯片。 Java Applet播放动画 使用多线程技术实现Applet中动画的播放。 动画是一种错觉,运动的错觉是通过快速显示一组图片造成的,而这些图片在内容上只有微小的变化。,Java Applet的网络功能,使用URL 常用方法 public AppletContext getApp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理核心考点试题及答案
- 高考数学考核趋势题目及答案2023
- 敏捷项目管理2025年考试试题及答案
- 科学探索活动实施方案计划
- 课程整合幼儿园班级的有效探索计划
- 法学概论复习季度计划与分配试题及答案
- 2025届吉林省长春市数学七下期末检测模拟试题含解析
- 2025届湖北省十堰市郧西县八年级数学第二学期期末达标检测模拟试题含解析
- 企业战略与政策风险试题及答案
- 城市交通信号控制策略重点基础知识点
- 2023年文印服务实施方案
- 2023年医学高级职称-眼科(医学高级)考试冲刺-历年真题演练带答案
- 财务岗位笔试试题附有答案
- 二次供水水箱清洗合同
- 医务科依法执业自查表
- (完整word版)企业对账函模板
- DB42-T 1107-2023 保温装饰板外墙外保温系统工程技术规程
- 领导干部任前谈话记录表
- 普外科常见问答题
- 医疗卫生事业单位面试题型及答题技巧
- 空间信息技术基础与前沿-河南理工大学中国大学mooc课后章节答案期末考试题库2023年
评论
0/150
提交评论