zoukankan      html  css  js  c++  java
  • Applet相关知识

    1、Applet定义

      Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同。含有Applet的网页的HTML文件代码中部带有<applet> 和</applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。

    2、Applet工作原理

      首先需要明确的一点是Applet不是由服务器端来执行的, 他是从服务器端下载类文件(可能位于JAR包中)到本地, 并由本地的Web浏览器通过用以执行Applet的Plug-in插件来执行Applet. 此插件的启动会连带着启动JVM, 因此不安装JVM是不行的, 至少要安装JRE才能在Web浏览器中运行Applet. 所谓的解释执行并不是由Web浏览来完成, 而是由JVM(.class文件肯定都是由JVM来解释的), Web浏览器只是起到了一个发起这一系列动作的功能.Java Applet 是用Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE 或 Nescape)解释执行能够产生特殊效果的程序。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,可以去调阅相应的网页以观看它们的效果。

    3、Applet的生命周期

      Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()
      (1)init()方法
      这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。
      (2)start()方法
      系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。
      (3)stop()方法
      这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。
      (4)destroy()方法
      与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。

    4、Applet的调用

      Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API 支持,所以 Applet 是一个全功能的 Java 应用程序。

    <applet> 标签是在HTML文件中嵌入 Applet 的基础。以下是一个调用"Hello World"applet的例子;

    <html>
    <title>The Hello, World Applet</title>
    <hr>
    <applet code="HelloWorldApplet.class" width="320" height="120">
    If your browser was Java-enabled, a "Hello, World"
    message would appear here.
    </applet>
    <hr>
    </html>

    注意: 你可以参照 HTML Applet 标签来更多的了解从 HTML 中调用 applet 的方法。

    <applet> 标签的属性指定了要运行的 Applet 类。width 和 height 用来指定 Applet 运行面板的初始大小。Applet 必须使用 </applet> 标签来关闭。

    如果 Applet 接受参数,那么参数的值需要在 <param> 标签里添加,该标签位于 <applet> 和 </applet> 之间。浏览器忽略了 applet 标签之间的文本和其他标签。

    不支持 Java 的浏览器不能执行 <applet> 和 </applet>。因此,在标签之间显示并且和 applet 没有关系的任何东西,在不支持的 Java 的浏览器里是可见的。

    Viewer 或者浏览器在文档的位置寻找编译过的 Java 代码,要指定文档的路径,得使用 <applet> 标签的 codebase 属性指定。

    如下所示

    <applet codebase="http://amrood.com/applets"
    code="HelloWorldApplet.class" width="320" height="120">

    如果 Applet 所在一个包中而不是默认包,那么所在的包必须在 code 属性里指定,例如:

    <applet code="mypackage.subpackage.TestApplet.class"width="320" height="120">

    详细Applet的应用参考www.runoob.com/java/java-applet-basics.html

  • 相关阅读:
    【自然框架】终于把源码弄到git上了。
    js的动态加载、缓存、更新以及复用(四)
    ajax的再次封装!(改进版) —— new与不 new 有啥区别?
    ajax的再次封装!
    js的动态加载、缓存、更新以及复用(三)
    js的动态加载、缓存、更新以及复用(二)
    js的动态加载、缓存、更新以及复用(一)
    以【猫叫、老鼠跑、主人醒】为例子,使用 javascript 来实现 观察者模式 (有在线演示)
    以【联动列表框】来看单一职责!
    CPU 多核指令 —— WFE 原理【原创】
  • 原文地址:https://www.cnblogs.com/Luiweony/p/8695651.html
Copyright © 2011-2022 走看看