zoukankan      html  css  js  c++  java
  • web学习--java applets

    1.什么是java Applet?

      Applet是一种采用java语言编写的小应用程序,它可以被嵌入网页中,当用户访问这样的网页时,Applet被下载到用户的计算机上运行,但前提是具有让applet运行的环境。Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素。

    2.java应用程序和Applet程序的区别

    • Java 中 Applet 类继承了 java.applet.Applet 类。
    • Applet 类没有定义 main(),所以一个 Applet 程序不会调用 main() 方法。
    • Applet 被设计为嵌入在一个 HTML 页面。
    • 当用户浏览包含 Applet 的 HTML 页面,Applet 的代码就被下载到用户的机器上。
    • 要查看一个 Applet 需要 JVM。 JVM 可以是 Web 浏览器的一个插件,或一个独立的运行时环境。
    • 用户机器上的 JVM 创建一个 Applet 类的实例,并调用 Applet 生命周期过程中的各种方法。
    • Applet 有 Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。
    • Applet 需要的其他类可以用 Java 归档(JAR)文件的形式下载下来。

    3.Applets的工作原理

      当用户访问带有Applets的网页时,Applet被下载到用户的计算机上执行,由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产生的多媒体效果。

      在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。

      Applet 小应用程序的实现主要依靠java.applet包中的Applet类。与一般的应用程序不同,Applet应用程序必须嵌入在HTML页面中,才能得到解释执行;同时Applet可以从Web页面中获得参数,并和Web页面进行交互。

      Applet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行。也可以通过java开发工具的appletviewer来运行。Applet 程序离不开使用它的HTML文件。这个HTML文件中关于Applet的信息至少应包含以下三点:

    • 字节码文件名(编译后的Java文件,以.class为后缀)
    • 字节码文件的地址
    • 在网页上显示Applet的方式。

    4.Applets的生命周期

      Applet类为Applet执行提供了一个框架,定义了当事件发生时系统调用的方法。大多数applet会覆盖一些或所有这些方法以适当地响应事件。

      ①init:为Applet提供初始化。Applet通常不具有构造函数的原因是,在调用init方法之前,它们不能保证有完整的环境。保持init方法的简短,以便applet能够快速加载。

      ②start:浏览器调用 init 方法后,该方法被自动调用。每当用户从其他页面返回到包含 Applet 的页面时,则调用该方法。

      ③stop:大部分重写了start方法的也应该重写stop方法。当用户没有停留在含有Applet的页面时,应该停止Applet,以免占用资源。

      ④destroy:大部分applet不需要重写destroy方法,因为它们的stop方法(在销毁之前调用)将执行关闭Applet执行所必需的所有任务。但是,对于需要释放额外资源的applet来说是必要的。

    5.创建一个Applet

      ①编写源文件

      ②打包

      ③部署

    这里我使用的官方的实例,下载地址:https://docs.oracle.com/javase/tutorial/deployment/applet/examplesIndex.html#ComponentArchDynamicTreeDemo

     详细步骤:

      1.编译applet的Java代码,并确保所有类文件和资源(例如图像)都位于一个单独的目录中。在DynamicTree演示applet的例子中,编译的类放在 build/classes/appletComponentArch目录中。

      2.对于DynamicTree演示Applet,创建一个名为mymanifest.txt的文件。在build/classes目录中,添加Permissions、Codebase和Application-Name属性。Applet不需要访问用户的系统资源,因此可以使用 sandbox 来获得权限。使用你为代码库加载样例的域,例如,myserver.com。将以下属性添加到mymanifest.txt文件。

      3.创建一个包含applet类文件和资源的JAR文件。在mymanifest中包含清单属性。在前一步中创建的txt文件。例如,下面的命令在build/classes/appletComponentArch目录中创建了一个JAR文件,并在build/classes中创建了清单文件。

      4.使用已签名的JNPL文件给JAP包签名,并在打包前将该文件包含在JAR文件中。

     

      5.创建将显示applet的HTML页面。调用部署工具箱函数来部署applet。

    最后,将你的JAR包,JNPL签名文件,还有AppletPage放在同一个目录下,可以运行在本地,但最好放在web服务器上。如果无法访问,选择支持运行的浏览器。这里特别说明一下,本地的一般无法运行,因为官方原话:

    然而,进入java的控制面板

    只能以http和https开头,无果,只能直接放在web服务器上了,官方也推荐放在web服务器上。

    最后运行效果:

    参考文档:https://docs.oracle.com/javase/tutorial/deployment/applet/examplesIndex.html#ComponentArchDynamicTreeDemo

         http://www.runoob.com/java/java-applet-basics.html

         https://baike.baidu.com/item/Applet/2723730?fr=aladdin

  • 相关阅读:
    VB中Null、Empty、Nothing及vbNullString的区别
    hs_err_pidXXX.log 解读
    测试Windows Live Writer——开博
    BCPC2021预赛
    软件设计模式之策略模式(Strategy) 壹
    留言板 壹
    友链 壹
    正则表达式练习 壹
    SpringBoot+Mybatis+自定义注解+Atomikos+实现多源数据库切换和分布式事务
    Dependency failed for File System Check on /dev/vdb1 服务器配置升级
  • 原文地址:https://www.cnblogs.com/sunny-daylk/p/8745612.html
Copyright © 2011-2022 走看看