注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

韬光养晦

路漫漫其修远兮,吾将上下而求索

 
 
 

日志

 
 

Applet  

2008-06-08 11:14:17|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

资料来源:http://blog.sina.com.cn/s/blog_4b78250801000b64.html


     Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。

     Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet 通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。

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

一、Applet的语言特点

  从Applet类扩展而创建的用户Applet新类。
   类定义举例:public class hello2 extends Applet
   Applet依赖于浏览器的调用。
   通过〈Applet〉标记嵌入在HTML文件中。

二、HTML中Applet标记的主要属性

   Code=Applet文件标识。
   Codebase=Applet文件所在路径。
   width=Applet显示区域的宽度。
   height=Applet显示区域的高度。
   name=Applet的符号名,用于同页面不同Applet之间的通信。

三、Applet的生命周期


  init()、start()、stop()、destroy()方法都是Applet类中已经定义的方法,
  系统根据上述规则自动执行Applet的生命周期。
  用户Applet中也可重新定义这些方法(重载)。
 

四、Applet的工作原理

      含有Applet的网页的HTML文件代码中部带有和这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。

      例 带有一个Applet的主页


<html>
  <head>
      <title>我的第一个applet helloworld</title>
  </head>
  <body>
      以下是一个applet.呵呵。--<br/>
    <applet code="HelloWorld.class" width="250" height="250"></applet>
  </body>
</html>



      上面这个例子就是一个简单主页的HTML文件代码。代码第七行是必需的Applet参数,定义了编译后的包含Applet字节码的文件名,后缀通常为“.class”;和以象素为单位的Applet的初始宽度与高度。

      Applet的下载与图形文件一样需要一定的时间,若干秒后它才能在屏幕上显示出来。等待的时间则取决于Applet的大小和用户的网络连接的速度。一旦下载以后,它便和本地计算机上的程序以相同的速度运行了。

      Applet在用户的计算机上执行时,还可以下载其它的资源,如声音文件、图像文件或更多的Java代码,有些Applet还允许用户进行交互式操作。但这需要重复的链接与下载,因此速度很慢,这是一个亟待解决的问题,可以想到的一个好办法是采用类似高速缓存的技术,将每次下载的文件都临时保存在用户的硬盘上,虽然第一次使用时花的时间比较多,但当再次使用时,只需直接从硬盘上读取文件而无需再与Internet连接,便可以大大提高性能了。

五、从哪里得到Applet

      自从Java日益流行之后,世界各地的爱好者们便不断创造出各种各样的Applet。这里列出了几个较大的Applet收集站,读者可以去逛一逛,看看这些Applet的效果如何,相信会使人流连忘返的。

      http://www.gamelan.com
      这是Intemet上最负盛名的Applet收集站,它按照小应用程序的用途加以分类,并列出了它们的说明、功能和程序代码,其规模和种类之多,令人叹为观止。

      http://www.jars.com/
      这个站点的特色是对它收集的小应用程序都加以评分,JARS是小应用程序评价服务(Java Applet Rating Services)的简称。许多Java开发者均以能获得其好评为荣。

      http://www.yahoo.com/Computers_and_Internet/Languages/Applet/
      这个URL可真够长的!这是Yahoo公司提供的小应用程序目录,收集的数量虽然稍逊于Gamelan,但也很可观了。]

      http://home.netscape.com/comprod/products/navigator/version_2.0 /java_applets/
      这是网景公司提供的小应用程序演示网页,同时也提供一些Java信息。

      http://java.wiwi.uni_frankfurt.de/
      这是一个小应用程序的信息站点,提供了许多实用信息,读者可以借助这里的数据库,查询自己感兴趣的小应用程序的相关信息。 


六、Applet事件响应

      Java的AWT库允许你把用户界面建立在Java applet中。AWT库包含有所有的用于建立简单界面所需要的控制:按钮、编辑框、检查框等等。

import java.awt.*;
import java.applet.*;

public class AppletEvent extends Applet
{
    int x, y ;
    Button b ;
    Color clr ;

    //在该applet构造函数中,代码初始化了变量x,y,clr,建立了一个新的显示“你就按着玩儿吧!”按钮控制,然后把按钮添加到窗体中。

    public AppletEvent() {
        y = 40;
        x = 100;
        clr = Color.red;

        b = new Button("你就按着玩儿吧!");
        add("Center", b);
    }

    //窗口还包含有用paint方法绘制的字符。

    public void paint(Graphics g) {
        g.setColor(Color.red);
        g.setFont(new Font("Helvetica", Font.PLAIN, 24));
        g.drawString("InofCD欢迎您!", x, y);
    }

    //在applet类中添加事件处理函数。也可以从按钮的基类继承一新的按钮类,然后在那里处理事件。在该applet中的“action”方法选择 applet的事件流。当每个事件流到达时,它检验其是否来自Button对象。如果是,它会增加y和减少x并使该applet重绘自己。ev.arg属性传递了来自被单击按钮的标签,并把它与所按的按钮的标签进行比较。

    public boolean action(Event ev, Object arg) {
        if (ev.target instanceof Button) {
            y += 10;
            x = x - 10;

            if (y >= 250)
                y = 10;
            if (x <= 0)
                x = 100;

            repaint();
            return true;
        }
        return false;
   }
 
 
 
另外:还可以用<jsp:plugin>标签来引入applet到jsp文件中,举例如下:

<%@ page contentType="text/html; charset=GB2312"%>
<%@ page language="java" %>
<HTML>
 <HEAD>
  <TITLE>用&ltjsp:plugin&gt加载Applet</TITLE>
 </HEAD>
 <BODY>
  <CENTER>
   <FONT SIZE = 5 COLOR = blue>用&ltjsp:plugin&gt加载Applet</FONT>
  </CENTER>
  <BR>
  <HR>
  <BR>
  <CENTER>
   <!-- 用plugin加载applet -->
   <jsp:plugin type="applet" code="HelloWorld.class" height="40" width="320" >
   <jsp:params>
   <jsp:param name="name" value="jsp"/>
   </jsp:params>
   <!-- 如果无法载入Applet时显示的信息 -->
   <jsp:fallback>无法加载Applet</jsp:fallback>
   </jsp:plugin>
  </CENTER>
 </BODY>
</HTML>

  评论这张
 
阅读(147)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018