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. freeswitch替换默认保持音乐

    1.编译vars.xml文件 上面为注释,下面为新增.指定系统音乐文件路径,reloadxml即可!

  2. bzoj3527: [Zjoi2014]力 fft

    bzoj3527: [Zjoi2014]力 fft 链接 bzoj 思路 但是我们求得是 \(\sum\limits _{i<j} \frac{q_i}{(i-j)^2}-\sum_{i> ...

  3. 强杀apt-get install进程导致错误的修复办法

    关闭了一个安装缓慢的apt-get install终端窗口,安装另一个软件,提示打不开var下的一个锁(没加sudo也是这个错误但会提示是非root用户权限不够导致,但这里不是这个问题),说是另一个进 ...

  4. 二、volatile关键字 - 内存可见性

    1.内存可见性 ​ (程序在运行时,jvm会为每一个执行任务的线程都分配一个独立的缓存,用于提高效率) ​ 我觉得可以这样来理解: ​ 内存:啥是内存?就是可以理解成电脑当中的内存条,程序创建个变量, ...

  5. transform:rotate3d/tranlate3d

    transform:rotate3d(x,y,z,angle); rotate3d 代表 在3D空间,元素沿着 经过原点(0,0,0) 和 三维坐标(x,y,z) 2点的直线进行旋转.其中: x:是一 ...

  6. SSH无法连接到服务器

    SSH服务器会无法连接,有时候并不是密码的问题,可能由于你上次改了密码(就算改成跟上次一样也是一个效果)导致家目录下的known_hosts(/root/.ssh/known_hosts)不一样了并且 ...

  7. 初学者易上手的SSH-hibernate04 一对一 一对多 多对多

    这章我们就来学习下hibernate的关系关联,即一对一(one-to-one),一对多(one-to-many),多对多(many-to-many).这章也将是hibernate的最后一章了,用于初 ...

  8. 如何在Ubuntu 18.04上安装Pip

    一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...

  9. 第七届 蓝桥杯 方格填数 dfs

    如下的10个格子  填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数. 注意:你提交的应该是一个整数,不要填写任何 ...

  10. 【js】【图片瀑布流】js瀑布流显示图片20180315

    js实现把图片用瀑布流显示,只需要“jquery-1.11.2.min.js”. js: //瀑布流显示图片 var WaterfallImg = { option: { maxWidth: 850, ...