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. vueRouter 子路由嵌套

    router.js import Vue from 'vue' import Router from 'vue-router' import contractPage from './views/co ...

  2. Java过滤器Filter

    过滤器 一. 简介 过滤器一般用于设置字符编码.登录验证.权限验证.敏感词过滤等,减少了代码的冗余,便于代码的复用,但是不一定是每个servlet都必须使用过滤器的. 二. 过滤器的工作流程 图片来源 ...

  3. line-height的高度机理

    1.元素高度从何而来?是由里面的文字撑开的? <!DOCTYPE html> <html lang="en"> <head> <meta ...

  4. HTML与CSS的一些知识(四)

    续: line-height 用于设置一行文本行高,一般用于文本的垂直居中: display 用于设置元素的显示方式 float 浮动,让元素漂浮起来排列 浮动的影响: a.浮动后,行内元素可以支持宽 ...

  5. Star in Parentheses

    问题 A: Star in Parentheses 时间限制: 1 Sec  内存限制: 128 MB 题目描述 You are given a string S, which is balanced ...

  6. Vue-admin工作整理(九): 状态管理Vuex-state和getters

    前提:通过项目结构个人设置创建的项目 store文件下actions.js.mutations.js.state.js都是根级别的状态管理,引用入口是通过index.js来实现,整个Vuex处理逻辑为 ...

  7. Vue小项目二手书商城:(二)axios前后端数据交互

    实现内容: 写路由接口(express) axios取数据 一.写接口 1.我们要在前端取到后端的数据(之前写的data.json)可以用vue-resourse或者用axios,在vue2之后官方就 ...

  8. WebForm服务器验证控件与前端js自定义验证共同使用

        问题: 前端aspx页面中需要在button中添加OnClientClick事件后,这个OnClientClick所执行的自定义的客户端js验证:这个时候,所有的服务器验证控件都会失效!   ...

  9. C语言的三目运算符

    语法: 表达式1 ? 表达式2 : 表达式3; 等价于 if(表达式1) { 表达式2 } else { 表达式3 }

  10. postman(十):配置jenkins自动发送邮件(邮件包含测试报告)

    继续说一下jenkins与postman的集成 上一篇通过jenkins远程执行postman导出的脚本,并把html报告指定输出到了jenkins对应的job工作空间,接下来配置一下当jenkins ...