关闭

JAVA基础之Applet

发表于:2011-8-15 09:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  Applet(小应用程序)采用Java创建的基于HTML的程序。浏览器将其暂时下载到用户的硬盘上,并在Web页打开时在本地运行。一般的Applet只能通过appletviewer或者浏览器来运行,一般的Java程序通过继承Applet类也可以嵌入网页运行。

  Java的入门比我想象中的还要简单的多,目前为止我已经对Java的基本语法结构有所了解。但我知道,深入的研究任何一门语言,都需要时间和实践的积累。

  Applet是Java编写的可以在浏览器端运行的代码,它与应用程序的明显区别在于其执行方式的不同,应用程序如C程序是从main()主程序开始运行的,而Applet则比较复杂。具体如何复杂我不太清楚,但我会慢慢清楚的。关于Applet的一个重要性质是,我可以将HTML中的值作为参数传递给Applet(通过getParameter()来获取参数值)。这样,为了产生不同的效果,我们不需要重新编译Java程序,而只需修改HTML的参数值即可。由于HTML的代码也可以动态生成的,因此我可以对网页的动态效果进行随心所欲的控制。

  在Applet的生命周期中有3个比较主要的方法:init,start,stop。

  init():负责Applet的初始化,在整个Applet的生命周期中,只执行一次该方法。和Delphi中的OnCreate()事件是一样的道理

  start():系统在调用完init()后,将自动调用start(),并且每次当前窗口被重新激活时,都会调用该方法,和Delphi中的OnShow()事件是差不多的。

  stop():用户离开Applet所在页面后调用该方法。它使你在用户不注意Applet的时候,停止一些资源的工作以免影响系统运行效率。并且我们不需要人为地去掉该方法。该方法同Delphi中的OnClose()事件差不多。

  下面是一个Applet版的HelloWorld

  文件名:HelloWorld.java

  importjava.applet.Applet;
  importjava.awt.Graphics;
  public class Hello World extends Applet
  {
  String title;
  public void init(){ title=“HelloWorld”;
  }
  public void paint(Graphics g)
  {
  g.drawString(title,50,20);
  }
  }

  我们可以看到,程序中是没有主函数的,那它如何运行呢。既然Applet是在浏览器环境下运行的,那我们就需要在HTML文件中来调用它。需要使用的相关标签就是<Applet>标签,我们首先建立HTML文件test.htm,源代码如下:

  <html>
  <body>
  Here comes my first applet:
  <br>
  <applet code=HelloWorld.class width=650 height=500>
  </applet>
  </APPLET>
  </body>
  </html>

  将该文件和HelloWorld.java放在同一个目录中,然后编译HelloWorld.java之后,直接点击test.htm打开,就可以看到Applet程序被启动了。或者使用AppletViewer命令AppletViewer test.htm也可以不需要浏览器直接运行该Applet。

  下面一个程序可以更好的帮助我们理解Java Applet在整个生命周期是如何调用上面我们介绍的几个方法的。

  文件名:StartStop.java

  import java.awt.*;
  import java.applet.*;
  public class StartStop extends Applet
  {
  StringBuffer message;
  public void init()
  {
  message=new StringBuffer(“Init done...”);
  }
  public void start()
  {
  message.append(“Started...”);
  }
  public void stop()
  {
  message.append(“Stopped...”);
  }
  public void paint(Graphics g)
  {
  g.drawString(message.toString(),150,50);
  }
  }

  运行方法同上。(该程序可参考机械工业的<Java简明教程>)

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号