Applet简介

Java Applet简介

最近要使用worldwind java sdk做Applet开发,看了些Applet的资料,为了防止忘记,记录如下:

applet是通过<applet>标签嵌入到html中来使用,因此<applet>标签应该至少包含下面这些信息:

  • 从哪里获取applet文件
  • applet的大小
applet和Java 2D程序有很多相关的地方,下面是Applet继承层次图
从中可以看出,applet是Panel的一个子类,可以作为Container来使用。
 
下面是一个HTML中的一个典型的Applet标签:
<applet code = "HelloWorld.class" width = "800"  height = "600">
</applet>
 

applet声明周期

Applet与Panel的不同之处在于Applet拥有生命周期控制。Applet类提供了四种方法,用于生命周期控制,下面是这四种方法的简单介绍:
 
  • init
当初始化applet时,需要调用该方法。applet可以有默认的构造函数,但习惯上是在init方法中而不是构造函数中进行全部的初始化工作。
  • start
该方法会在浏览器调用init方法之后执行。当用户从其他页面返回到包含applet的页面时,该方法也会执行。说明start方法可以执行多次,与之相比,init方法只能执行一次。start方法经常为applet重启一个线程,例如,恢复动画。如果applet在用户离开当前页面时没有什么需要挂起的,就没有必要实现该方法(或stop方法)。
  • stop
该方法在用户离开包含applet的页面时被自动调用。
  • destory
该方法只有在浏览器正常关闭时才会被调用。
 

applet的HTML标记和属性

下面是一个最简单的形式使用applet的例子:
<applet code="HelloWorld.class" width="400" height="300">
</applet>
可以看出,code属性指明了类文件名,并且必须包含.class扩展名;width和height属性确定容纳applet窗口大小。两者都是以像素为单位。
用于编码的applet属性
下面的属性用于高速浏览器如何定位applet代码:
  • code
这个属性给出applet类文件的名称。若指定codebase,则路径是相对于codebase的;若没有指定codebase,则路径是相对于当前页面的。
路径名必须与applet的包名匹配。例如,如果applet的类在包com.demo包中,则该属性应该是code="com.demo.HelloWorld.class"或"com/demo/HelloWorld.class"
  • codebase
这个可选属性指出用于定位类文件的url。这个url可以是决定路径,也可以是相对路径,相对路径的一个示例如下:
AProject/
|----Page.html
|----Applets/
  |----HelloWorld.class
可以在Page.html中这样写<applet>标签:
<applet code="HelloWorld.class" codebase="Applets" width="800" height="600"></applet>
  • archive
这个可选属性列出Java存档文件、包含类文件及applet需要的其他资源文件。这些文件是applet在加载前从服务器获得的。这种技术明显加快了加载过程的速度,这是因为只需要一个HTTP请求来加载包含多个小文件的JAR文件。JAR文件之间使用逗号分隔。例如:
<applet code="HelloWorld.class" archive="Helllo.jar, demo/test.jar" width="800" height="600"></applet>

JavaEE第六周的更多相关文章

  1. JAVAEE 第六周

    JSF 生命周期: FacesServlet 充当用户和 JSF 应用程序之间的纽带.它在明确限定的 JSF 生命周期(规定了用户请求之间的整个事件流)的范围内工作. 1.   当JSF页面上的一个事 ...

  2. javaee 第六周作业

    一.jsf(java server faces)的运行原理(工作方式) 1.jsf应用是事件驱动的,当一个事件发生时(比如用户单击一个按钮),事件通知通过HTTP发往服务器,服务器端使用叫做Faces ...

  3. 【FOL】第六周

    最近太忙,三周(第四.五.六周)一起记录一下. 1.完成了键盘的输入,顺便把之前鼠标输入改了一下(最早是在渲染循环里面处理鼠标事件) 2.UI控件方面,做了个Edit控件,把之前的Label.Imag ...

  4. 20145213《Java程序设计学习笔记》第六周学习总结

    20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...

  5. 20145304 Java第六周学习报告

    20145304<Java程序设计>第六周学习总结 教材学习内容总结 1.InputStream与OutputStream: 在Java中,输入串流的代表对象为java.io.InputS ...

  6. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  7. 20145337 《Java程序设计》第六周学习总结

    20145337 <Java程序设计>第六周学习总结 教材学习内容总结 输入\输出 InputStream与OutputStream 从应用程序角度来看,如果要将数据从来源取出,可以使用输 ...

  8. Linux内核设计第六周 ——进程的描述和创建

    Linux内核设计第六周 ——进程的描述和创建 第一部分 知识点总结 一.进程描述符task_struct数据结构 1.操作系统的三大功能: 进程管理.内存管理.文件系统 2.进程的作用: 将信号.进 ...

  9. 程序设计入门—Java语言 第六周编程题 1 单词长度(4分)

    第六周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 1 单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这 ...

随机推荐

  1. python面对对象

    面对过程VS面对对象 面向过程的程序设计的核心是过程,过程就是解决问题的步骤,面向过程的设计就是考虑周全什么时候处理什么东西 优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. ...

  2. wordpress安装教程

    最近安装了wordpress来搭建自己的网站,过程有些艰辛,以防以后转移服务器再次遇到这个难题,在此记下自己的这次安装过程以及一些问题,同时也供遇到相同问题的初次接触者做参考. 另外说明一下我用的操作 ...

  3. html是什么?一个完整的html代码告诉你(完整实例版)

    html什么意思?这篇文章主要为大家仔细的解释了HTML文档的一个基础的完整代码,还有具体的实例解释,让大家能一下就看懂HTML的基础结构和用法.下面我们一起来看看吧一.html是什么?点击查看htm ...

  4. loadrunner转码两种方式

    1.//使用转换函数将resp值做编码转换并存入msg lr_convert_string_encoding(“佛挡杀佛”),"utf-8",NULL,"msg" ...

  5. vue--transition-group

    1.为什么要使用<transition-group> <transition></transition>是vue封装的过渡组件 <transition nam ...

  6. 【BZOJ】 1041: [HAOI2008]圆上的整点

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041 ${x^{2}+y^{2}=r^{2} }$ ${\Rightarrow y^{2} ...

  7. .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别

    什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语 ...

  8. 使用vue+iview实现上传文件及常用的下载文件的方法

    首先说明一下,我们这次主要用的还是iview的upload上传组件,下面直接上代码 <Upload ref="upload" multiple='true' //是否支持多文 ...

  9. Asp.net core Identity + identity server + angular 学习笔记 (第四篇)

    来说说 RBAC (role based access control) 这是目前全世界最通用的权限管理机制, 当然使用率高并不是说它最好. 它也有很多局限的. 我们来讲讲最简单的 role base ...

  10. pom.xml配置,针对mvn clean install -P参数(环境参数)打包

    pom.xml配置,针对mvn clean install -P参数(环境参数)打包 比如你有2个环境,一个dev,一个prod, 然后你在mvn打包的时候,可以通过-P来打包,是打dev包,还是pr ...