2009-06-17 lovewhzlq (CTO)

第8章  Java Applet基础

在第1章中我们已经知道,一个Java Applet程序中必须有一个类是Applet类的子类。我们称该子类是Java Applet的主类,并且主类必须修饰为public的。Applet类是包java.applet中的一个类,同时它还是包java.awt中Container(容器)  类的子类,因此Java Applet的主类的实例是一个容器。我们已经知道,Java Applet程序通过浏览器来执行,因此它和Java应用程序有许多不同之处。

applet

1.java 的类子来说明过程。

一个Java Applet也是由若干个类组成的,但必须有一个类扩展了Applet类。即它是Applet类的子类。Applet类是系统提供的类。我们把这个类叫做这个Java Applet的主类,JavaApplet的主类必须是public的。一个JavaApplet不再需要main方法,但必须有且只有一个类扩展了Applet类。当我们保存上面的源文件时,必须命名为Exampie8_1.java。假  设我们保存Example8_l.java在f:/8000目录下。

2.编译

f:/8000>/javac applet1.java

编译成功后,文件夹8000下会生成一个applet1.class文件。如果源文件有多个类,

那么将生成多个class文件,都和源文件在同一文件夹里

3.运行

Java Applet必须由浏览器来运行,因此我们必须编写一个超文本文件(含有applet标记的web页)告诉浏览器来运行这个JavaApplet。

下面是一个最简单的一个html文件,告诉浏览器运行我们的Java Apple。我们使用记事本编辑如下一个超文本文件,并保存在f:/8000目录下,命名为Example8_1.html(扩展  名必须是html,主文件名只要符合Java标识符规定即可)。

超文本中的标记  和告诉浏览器将运行一个Java Applet,code

告诉浏览器运行哪个Java Applet。code的符号"="后面是主类的字节码文件。

一个Java Applet的执行过程称为这个Java Applet的生命周期。一个Java Applet的生命周期内涉及如下方法,这些方法也正是一个完整的Java Applet所包含的,它们是:init()、 start()、stop()、destroy()、paint(Graphics g)方法。

(1)初始化:init()

这个对象首先自动调用init()方法完成必要的初始化工作。初始化的主要任务是创建所需要的对象、设置初始状态、装载图像、设置参数等。init()方法格式如下:

public void init()

{  …

}

init()方法只被调用执行一次。该方法是父类Applet中的方法,Example8_l.java重写了这个方法。

(2)启动:start()

初始化之后,仅接着自动调用start()方法。在程序的执行过程中,init()方法只被调用执行一次,但start()方法将多次被自动调用执行。除了进入执行过程时调用方法start()外,当用户从applet所在的Web页面转到其他页面,然后又返回时,start()将再次被调用,但不再调用init()方法。start()方法的格式如下:

public void start()

{  …

}

该方法是父类Applet中的方法,Example8_l.java重写了这个方法。

(3)停止:stop()

当浏览器离开Java Applet所在的页面转到其他页面时,stop()方法被调用。如果浏览器又回到此页,则start()又被调用来启动Java Applet。在Java Applet的生命周期中,stop()方法也可以被调用多次。如果你在小程序中设计了播放音乐的功能,而没有在stop()方法中给出停止播放它的有关语句,那么当离开此页去浏览其他页时,音乐将不能停止。如果没有定义stop()方法,当用户离开Java Applet所在的页面时,Java Applet将继续使用系统的资源。若定义了stop()方法,则可以挂起applet的执行。stop()方法的格式为:

public void stop()

{    …

}

该方法是父类Applet中的方法,Example8_l.java重写了这个方法。

(4)删除:destroy()

当浏览器结束浏览时,执行destroy()方法,结束applet的生命。该方法是父类Applet中的方法,不必重写这个方法,直接继承即可。

(5)描绘:paint(Graphics g)

paint(Graphics g)方法可以使一个applet在屏幕上显示某些信息,如文字、色彩、背景或图像等。在applet的生命周期内可以多次调用。例如,当applet被其他页面遮挡,然后又重新放到最前面、改变浏览器窗口的大小、以及applet本身需要显示信息时,paint()方法都会被自动调用。

与上述4种方法不同的是,paint()方法有一个参数g。浏览器的Java运行环境产生一个Graphics类的实例,并传递给方法paint()中的参数g。因此,你不妨把g理解为一个画笔。该方怯是Component中的方法,例子中重写了这个方法。

(6)关于repaint()方法

当你使用repaint()方法时,将导致下列事情发生:程序首先清除paint()方法以前所画  的内容,然后再调用paint()方法。 在下面的例子中,我们在paint()方法中,使用了repaint()方法,因此每当小程序调用paint()方法时,将会导致paint()方法以前所画的内容消失,并紧接着再调用paint()方法。        这样,小程序中的字符串就不断地往下走。  该方法是Component中的方法,applet2.java继承了这个方法。

java applet init_java applet init start相关推荐

  1. java servlet applet,详解Java Servlet与Applet比较

    Java Servlet与Applet相似之处: ◆它们不是独立的应用程序,没有main()方法. ◆它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用. ◆它们都有一个生存周期,包含in ...

  2. java中的applet的问题

    java中的Applet上面总是有一条横线.求帮助.谢谢大家! 老师给的程序没有主类,错误如下,不知道怎么改了! 警告: [options] 未与 -source 8 一起设置引导类路径 注: G:\ ...

  3. linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题

    解决linux下java程序(例如applet)中文乱码问题 平台:Mandriva 2006.0 将Windows下的字体文件simsun.ttc拷贝到/usr/share/fonts/zh_CN, ...

  4. JAVA 卡与 APPLET

    JAVA 卡与 APPLET 来源:中国一卡通网 作者:包盛杰 发布时间:2005-06-01 17:00:06 字体:[大 中 小] 关键字:JAVA 卡与 APPLET 摘 要:JAVA 卡与 A ...

  5. java jp2launcher.exe_atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o

    atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o 1. 建立applet:: myclipse>>new>>applet,设置applet属性,设置 ...

  6. java jdbc init_Java 的JDBC 数据库连接池实现方法

    虽然 J2EE 程序员一般都有现成的应用服务器所带的JDBC 数据库连接池,不过对于开发一般的 Java Application . Applet 或者 JSP.velocity 时,我们可用的JDB ...

  7. 【java】深入理解Java JVM虚拟机中init和clinit的区别

    1.概述 转载并且补充:深入理解Java JVM虚拟机中init和clinit的区别 原创 之所以来转载一下,是因为,有个学弟问了这个问题 这个知识点,回顾起来应该是我看 深入理解Java JVM虚拟 ...

  8. 编写时钟aplet程序java,编写时钟 Applet 程序

    这是学校 java的一道期末考试题,钟表的指针借鉴的大佬的代码.... 代码流程 publicpublic class ClockApplet extends Applet implements Ru ...

  9. java.lang.applet_Java Applet RuntimeException:java.lang.NoClassDefFoun...

    我已经编写了第一个Java小程序,并在将其部署到Web服务器上时出错.我的applet使用了几个其他的jar文件,例如javaMail mail.jar,smtp.jar,mailapi.jar和其他 ...

  10. java中继承applet类_java.applet.Applet类

    1.applet是一种不能单独运行但可嵌入在其他应用程序中的小程序 2.该类直接继承于java.awt.Panel类,其直接子类为javax.swing.JApplet 3.常用方法 public U ...

最新文章

  1. springboot集成neo4j
  2. 人大选博士的3个标准
  3. redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列(续)
  4. C++编程风格(一)
  5. yytextview多种格式_Android 一个TextView字体设置多种不同颜色
  6. 菜单工具栏wxPython菜单与工具栏基础示例
  7. PHP快速排序及其时间复杂度
  8. 机器学习之线性代数总结
  9. ups计算软件_浅析UPS与蓄电池与逆变器的区别
  10. 计算机网络英文题库,强烈推荐计算机网络英文试题库(附答案)chapter.doc
  11. hibernate中save、update、saveOrUpdate的区别
  12. java上下文_Java,gRPC和上下文传播(Java, gRPC and Context propagation)
  13. python登录界面代码_超酷 Python 程序包 ,一行代码实现 GUI 界面
  14. javascript高级程序设计第四版(javascript高级程序设计第四版)
  15. java ipmi关闭服务器,Dell服务器的IPMI/iKVM使用方法(开机,关机,重启,重装系统)...
  16. (Python数字图像处理)自适应中值滤波算法
  17. 使用WinDbg分析蓝屏dump原因
  18. 泛微OA云桥 未授权任意文件读取
  19. 酷派+k1+rom+android+4.4,酷派新品牌怎么样?ivvi K1全面评测
  20. 《STL源码剖析》--memery

热门文章

  1. C语言来实现链表创建
  2. Aliplayer自定义组件
  3. python移动文件到指定文件夹
  4. Windows10桌面美化合集(壁纸+任务栏+资源管理器)
  5. python模块之junos-eznc
  6. chrome axure 插件安装
  7. 64qam星座图matlab,基于MATLAB的QAM 眼图和星座图
  8. 校园二手交易平台设计总览
  9. 教孩子编程python 语言 nostarch 下载_教孩子学编程 Python语言版
  10. 原版Caffe在Windows10 VS2015 python3.7 CPU版本 详细安装笔记 BVLC caffe