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. ready

    // 定义一个动物类 function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = functio ...

  2. bzoj1452 [JSOI2009]Count ——二维树状数组

    中文题面,给你一个矩阵,每一个格子有数字,有两种操作. 1. 把i行j列的值更改 2. 询问两个角坐标分别为(x1,y1) (x2,y2)的矩形内有几个值为z的点. 这一题的特点就是给出的z的数据范围 ...

  3. 基于配置文件的Spring注入

    基于配置文件的Spring注入 1.依赖注入的概述 依赖注入指的是通过Spring配置文件的方式创建对象时,直接通过配置的方式将数据注入到该对象的标量类型属性,并从Spring容器中获取指定对象注入到 ...

  4. Vue-admin工作整理(十八):Mock的使用方法

    # Mock简明文档           ## Mock.mock()           - Mock.mock( requestUrl?, requestType?, template|funct ...

  5. element-UI表单验证

    转载自: 一.简单逻辑验证(直接使用rules) 实现思路 •html中给el-form增加 :rules="rules"•html中在el-form-item 中增加属性 pro ...

  6. Asp.net core 学习笔记 Razor Page

    更新 2019-04-27 最近做了更多的 research 发现微软视乎有意发展 razor page. razor page 的定位是 mvvm, 现在还有个叫 blazor 的东西, 类似用 c ...

  7. react props与render成员函数

    props是组件固有的属性集合,其数据由外部传入,一般在整个组件的生命周期中都是只读的,React的API顶层设计也决定了这一点.属性初值通常由React.createElement函数或者JSX中标 ...

  8. Venom- Eminem

    I got a song filled with shit for the strong willed. 我写了一首充满戾气的歌献给意志坚强的人. When the world give you a ...

  9. Hadoop OutputCommitter

    1. OutputCommitters MapReduce使用一个提交协议来确保作业(job)和任务(task)都完全成功或失败.这个通过 OutputCommiter来实现. 新版本 MapRedu ...

  10. css实现垂直水平居中的方法(个数不限)?

    方法一:使用绝对定位 大家都知道margin:0 auto;能够实现水平居中,但却不知道margin:0 auto;也是可以实现垂直居中的: 给居中元素添加如下样式: .Absolute-Center ...