Applet

一.一个简单的Applet

1.Applet是一种包含在HTML网页中的Java应用程序。

2.在使用Applet标记时,需要告诉浏览器需要加载哪个Applet以及加载的Applet所放在网页中的位置。

3.一个applet就是一个扩展与java.applet.Applet类的Java类。

4.所有的applet都扩展于JApplet类,它是Swing applets类的父类。JApplet是Applet类的直接子类。

5.如果applet包含Swing组件,就必须扩展与JApplet类。在Applet类中的Swing组件不能正确的显示出来。

二.将应用程序转化为Applet

1.将一个图形的Java应用程序转换为能够嵌入在网页中运行的applet很容易。

2.将Java应用程序转换为applet的步骤:
(1)创建一个html页面,并用适当的标记加载这个applet代码。
(2)创建一个JApplet类的子类,将这个子类标记为公有。否则,不能加载applet。
(3)删去应用程序中的main方法。不要为应用程序构造框架窗口,应用程序将显示在浏览器中。
(4)将框架窗口构造器中的初始化代码移到applet的init方法中。
(5)删除对setSize的调用。
(6)删除对setDefaultCloseOperation的调用。
(7)若应用程序调用了setTiele,则删除该调用。
(8)applet会自动显示出来,不用调用setVisible(true)。

三.Applet的Html标记和属性

1.Applet的相关属性:
(1)width,height设置Applet的属性。
(2)align指定Applet的对齐方式。
(3)vspave, hspace指定Applet上下及两侧的像素值。
(4)code指定Applet的类文件名称。只用于指定包含Applet类的类名。code和object属性都是必需的。
(5)codebase用于定位类文件的URL。
(6)archive可以列出JRA文件,或包含类的文件和Applet需要的其他资源。
(7)object用来指定包含序列化的Applet对象的文件名(当把所有的实例域写到一个文件中时,对象就被序列化了)。
(8)name,Applet的name属性,可以用这个属性来代表相应的Applet。
(9)alt,Java有可能在浏览器中被系统管理员禁用。

2.要使用同一个页面上的两个Applet可以直接通信,name属性也是一个要素,必须为每个当前的Applet实例指定一个名字。然后将这个名字字符串传递给AppletContext类的getApplet方法。

3.如果浏览器不能处理Applet,那么就会忽略不识别的Applet的和param标记。相反,支持java的浏览器不会显示<applet></applet>标记之间的文本。

四.Object标记

1.对于Java applet而言,object标记中的关键属性是classid。

2.classid属性后面可以跟codebase属性,并与在applet标记中的方法一样。

五.使用参数向Applet传递信息

1.与应用程序可以使用命令行信息一样,Applet也可以使用嵌入在HTML中的参数。是由使用被称为param的HTML标记连同自定义属性完成的。

2.只能在Applet的init方法中调用getParameter方法,而不是在构造器中调用。建议一般不要为Applet创建构造器。

3.参数的返回值通常是字符串类型。如果需要数字类型,就需要将字符串类型转换为相对应的数字类型。

4.Applet中的重要方法:
(1)public String getParameter(String name),获得正在加载的Applet网页中由param标记定义的参数值,字符串名区分大小写。
(2)public String getAppletInfo(),很多Applet的作者覆盖这个方法,它用于返回一个包含当前Applet作者,版本号和版权信息的字符串。
(3)public String[][] getParameterInfo(),可以覆盖这个方法,用于返回一个Applet支持的param标记选项的数组。这个数组每行有三项:名字,类型和有关参数的描述。

六.访问图像和音频文件

1.Applet可以处理图像和音频。图像必须是GIF,PNG或JPEG格式,音频必须是AU,AIFF,WAV或MIDI格式。动画支持GIF,并且能显示动画效果。

2.需要利用相对的URL指定图像和音频文件的位置。通常,由getDocumentBase或getCodeBase方法获得基URL。前者可以获得包含Applet的HTML网页的URL;后者可以获得Applet的codebase的URL。

3.可以通过getImage()和getAudioClip()方法获得基URL和文件的存储位置。

4.播放音频剪辑,调用play方法。

5.相关方法:
(1)URL getDocumentBase():获得包含Applet网页的URL。
(2)URL getCodeBase():获得getCodeBase目录的URL,Applet是由这个目录加载的。
(3)void play(URL url):播放由URL指定的音频文件。
(4)void play(URL url, String name):利用字符串提供相对于第一个参数的URL路径,如果没有找到音频剪辑,就不做任何操作。
(5)AudicClip getAudicClip(URL url):获得URL指定的音频剪辑。
(6)AudicClip getAudicClip(URL url, String name):使用字符串提供来提供相对于第一个参数的URL路径,如果没有找到音频文件,就返回null。
(7)Image getImage(URL url)
(8)Image getImage(URL url, String name):返回一个由URL指定的图像对象,这个对象封装一个图像,如果图像不存在,就返回一个null,否则,立即启动一个独立的线程来装载图像。

七.Applet上下文

1.Applet间的通信:

(1)一个网页可以包含多个Applet,如果网页中包含多个来自于同一个codebase的Applet,则这些Applet之间就可以通信。

(2)如果HTML中的每个Applet文件都指定一个name属性,就可以使用AppletContext接口中的getApplet方法来得到applet的引用。

(3)可以把所有的applet都列在网页上,不用管他们是否有name属性。getApplets方法返回一个枚举对象。

(4)Applet不能与其他网页上的Applet通信。

2.在浏览器中显示信息:

(1)通过使用AppletContext类的方法可以访问环境浏览器的两个区域:状态行和网页显示区域。

(2)可以使用showStatus消息在浏览器底部的状态行中显示一个字符串。

(3)利用showDocument方法,可以请求浏览器显示不同的网页。

3.既是Applet,又是应用程序:

(1)在Applet查看器中运行的是Applet,由命令行启动的是应用程序。

(2)在Applet启动时,必须调用它的init方法和start方法。

(3)相关方法:

1)Enumeration<Applet> getApplets():返回在同一个上下文中(也就是在同一个网页中)所有Applet的枚举值。

2)Applet getApplet(String name):返回当前上下文给定名称的Applet。若不存在,返回null,只在当前网页中查找。

3)void showDocument(URL url):在当前页中显示新网页。

4)void showDocument(URL url, Sreing target):在浏览器的框架中显示一个新网页。用target参数指定目标框架。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值