Java第八次课-Applet程序设计

Applet程序设计 本章目录6.1 Applet基本概念6.2 编写Applet程序6.3 Applet多媒体设计6.4 Applet的交互功能与通信功能6.1 Applet基本概念本章介绍Java语言的另一种程序,即Java小应用程序Applet。一、什么是Applet?Applet是Java语言与WWW相结合的产物,是一种被嵌入到Web页中,由Java兼容浏览器执行的小程序,可以生成
摘要由CSDN通过智能技术生成

Applet程序设计
本章目录
6.1 Applet基本概念
6.2 编写Applet程序
6.3 Applet多媒体设计
6.4 Applet的交互功能与通信功能

6.1 Applet基本概念
本章介绍Java语言的另一种程序,即Java小应用程序Applet。

一、什么是Applet?
Applet是Java语言与WWW相结合的产物,是一种被嵌入到Web页中,由Java兼容浏览器执行的小程序,可以生成具有动态效果和交互功能的Web页,其主要特点有:
◆ 绘图功能
◆ 动态效果
◆ 动画和声音
◆ 交互功能
◆ 窗口环境
◆ 网络交流能力

Applet是Java语言程序的一种特殊形式,从语法上看,Application的语法完全适用于Applet,包括语句、方法和图形界面设计技术等,二者之间的差异在于Applet是在浏览器环境

下运行的。Applet的应用是目前Java语言应用的重要内容,在Internet上可以浏览到数量惊人的Applet程序,其设计丰富多彩,千变万化,极大地丰富了WWW页面的内容。

二、Applet的运行环境和运行方式
Applet本身是一段Java程序,但它不能独立运行,需经过编译后成为字节码文件嵌入到HTML文本中,通过主页发布到Internet上。用户从网上访问主页打开HTML文本时,Applet被

用户浏览器执行起来。Applet自身无法以命令行方式启动,需要依赖浏览器为其提供图形界面,并且要求浏览器必须是Java兼容浏览器才行。

Java类库的java.applet包中定义了一个Applet类,Applet类被定义为面板Panel类的子类,是一个非独立的容器,必须被放到一个独立容器中才能执行。用户在编写Applet程序的

时候,程序的主类必须被声明为继承自Applet类,通常情况下或者是将主类声明为Applet类的直接子类,或者是将主类声明为Applet类的子类、Swing组件中的一个顶层容器

JApplet类的直接子类。

三、Applet的执行步骤和生命周期
当Java兼容浏览器发现Web页中有Applet时,将通过网络从Applet宿主机上下载Applet程序的主类,并引入其他必要的类,随后在Java兼容浏览器中生成Applet主类的一个对象实例

。同一Web页上的不同Applet主类,以及不同Web页上的Applet主类都会生成不同的对象实例,运行在同一浏览器上的各个Applet程序具有独立的行为。对于Applet而言,浏览器便

是Java运行时系统。

Applet的生命周期是指自Applet程序被下载直至它被系统回收所经历的历程。在这个历程中,有以下事件能够改变Applet的状态。
⒈下载Applet:可以产生一个Applet主类的实例,并对其进行初始化,启动Applet。
⒉离开或返回Applet所在的主页:离开网页或图标化浏览器窗口可使Applet停止运行,返回主页或恢复浏览器窗口可使Applet程序重新启动。
⒊退出浏览器:退出浏览器将使Applet程序停止自身执行,并进行善后处理。

四、Applet的安全机制
由于Applet是通过网络传递并且要经过下载才能被执行的程序,令人非常容易想到安全问题,即病毒传播、系统破坏和通过网络泄露用户端的有关信息等问题,如编写恶意代码通

过Applet程序盗取用户的保密信息并进行传播等。

Java语言提供了一个SecurityManager类用来防止发生上述类似事件,它几乎可以控制Java虚拟机的所有系统级调用,这一整套用来防止各种不安全事件的安全机制被称为“沙箱”

安全机制。对于所运行的Applet程序有以下约束:
⒈Applet只能通过网络通讯将数据写入其宿主机上的应用程序中,由应用程序完成宿主机上的文件写;
⒉Applet不能通过套接字与非宿主机进行网络通讯;
⒊Applet不能在运行它的主机上进行正常的文件操作;
⒋Applet不能调用运行主机上的任何程序。

6.2 编写Applet程序
一、Applet的主要行为

Java语言Application程序在执行时必须首先调用main()方法,进入main()方法之后即开始生成各种对象实例,并通过对象实例调用各个方法成员,待每一个执行过程结束之后,再

依次返回main()方法,这样main()方法成为Application程序的执行入口和出口。

Applet程序的执行过程与Application程序的执行过程有很大的不同,它不包含main()方法,也没有类似的明确的入口与出口。Applet程序也可以包含若干个类,其中也有一个主类

,其程序内容和执行过程则是通过主类中的以下几个方法实现的。

⒈初始化方法init():此方法是在Applet被浏览器下载时被执行的,在Applet的整个生命周期中只须执行一次。

⒉启动方法start():系统在调用完init()方法之后将自动调用start()方法,此后每当返回Applet所在的主页或是恢复浏览器窗口时系统都将调用一次start()方法。该方法中包含

Applet的主体内容。

⒊停止方法stop():每当离开Applet所在的主页或是图标化浏览器窗口时系统都将调用一次stop()方法。

⒋删除方法destroy():当浏览器将关闭时系统将调用destroy()方法杀死所有Applet线程、释放系统资源并进行善后处理,该方法在Applet的整个生命周期中只须执行一次,且是

整个生命周期中调用的最后一个方法。

⒌绘制方法paint(Graphics g):当Applet程序需要在界面上显示某些文字、图形、图像、色彩等等信息时,就需要调用此方法来完成绘制任务,有时为了使程序对于界面上的更新

能够快速响应,还需要多次调用此方法。
显然start()方法与stop()方法都可以被多次调用,并且两种方法是穿插调用的,每一次对stop()方法的调用都是在一次对start()方法的调用之后。

二、Applet编程
程序员在进行Applet程序编程的时候主要要完成三件事:第一是把Applet程序的主类声明为Applet类的直接子类或者是JApplet类的直接子类;第二是把要执行的相关代码通过重写

初始化方法、启动方法、停止方法、删除方法和绘制方法等方法写入Applet程序中;第三是如果需要的话还要再写出Applet程序的主类的其它方法成员及其它的非主类。

由于Applet程序的主类必须要被声明为Applet类或JApplet类的直接子类,这样,Applet程序的主类就不能再继承Applet类或JApplet类以外的类。
在Applet程序中,语句、语法、对象实例等等语言内容与编写Application程序是一样的,在其所包含的类中可以根据需要实现各种接口,也可以使用GUI界面设计技术。

通常情况下,用户主要是根据程序的实际情况重写几个主要的方法成员,大多数情况下仅需重写init()方法和start()方法,需要界面操作时重写paint()方法,stop()方法需要重

写的情形就少一些,而除非特殊情况,很少重写destroy()方法。


带有按钮的具有嵌套布局的Applet程序的简单例子。
例6.1
//Example 1 of Chapter 6

import  java.awt.*;
import  javax.swing.*;

public  class  AppletDemo1  extends  JApplet
{
 JPanel p;
 JButton b1[],b2[];
 public  void  init()
 {
  Container container = getContentPane();
  container.setLayout(new  BorderLayout());
  p = new JPanel();
  p.setLayout(new  GridLayout( 3, 3, 5, 5 ));
  b1 = new JButton[4];
  b2 = new JButton[9];
  for(int i = 0; i<4; i++)
  {
   b1[i] = new JButton(

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值