Java基础——Applet学习的知识

JAVA学习——Applet
Applet是从java.applet.Applet类继承而来的类,它不需要包含标准的main方法。Applet是由Web浏览器提供的JVM来运行的,这对保证安全性很重要。
扩展Applet类的程序没有构造函数,它一般包含4个重要的方法:init()、start()、stop()和destory()。浏览器在装载Applet程序之后,将自动调用这4个方法的行为构成了Applet的生命周期,即Applet的生命周期由初始化、开始运行、停止运行和撤销清理等4个过程构成的。
一般来说,覆盖Applet的4个方法,就可以处理Applet生命周期中的重要事件。浏览器在进入包含某个Applet程序的页面之后,开始装载这个Applet.
@ 当Applet程序被加载时,init()方法仅被调用一次。它与构造方法类似,继承java.applet.Applet的类可以重载它,以提供不同的初始化代码。
@ Applet被访问或被再次访问时,start()方法被调用。重载start()方法可以产生更好的效果。
@ 当包含Applet的Web页面被其他页面替换的时候,stop()方法被调用。用户离开一个Web页面时,stop()方法都会产生相应的动作。
@ Applet继承了Panel,而不是Frame或Window。因此,Applet不可能有菜单或标题栏。由于Panel默认的布局是FlowLayout,所以,Applet默认的也是FlowLayout。

package AppletPackage;
import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet{
    public void paint(Graphics g){
        this.setBackground(Color.red);
        g.drawString("Applet's world", 20, 50);

    }
} 

程序执行结果:
result


这个生命周期执行情况:

package AppletPackage;

import java.applet.*;
import java.awt.*;
public class Applet2 extends Applet{ 
    public void init(){ System.out.println("init调用");} 
    public void start(){ System.out.println("start调用");} 
    public void stop(){ System.out.println("stop调用");} 
    public void destroy(){ System.out.println("destory调用");} 
    public void paint(Graphics g){ Font f =new Font("方正舒体_GB2312",Font.BOLD,30);
    g.setFont(f); g.setColor(Color.red); 
    g.drawString("this is DUT",0,30);
    }
} 

执行结果:
这里写图片描述
当关掉这个窗口后,结果变为:

init调用
start调用
stop调用
destory调用

paint()方法 这个paint还是来自于AWT

  • Applet本质上是图形方式的,我们应该在图形环境中绘制我们的显示内容。
  • 我们可以通过创建一个paint()方法在Applet的panel上绘图。只要Applet的显示需要刷新,paint()方法就会被浏览器环境调用。例如,当Applet的显示尺寸发生变化的时候,或浏览器窗口被最小化或被要求以图标方式显示时,这种调用就会发生。
  • 我们应该编写自己的paint()方法,以使它在任何时候被调用,都能正常地工作。对它的调用是异步产生的,且由Applet的运行环境而不是程序来驱动
  • paint()方法带有一个参数,它是java.awt.Graphics类的一个实例。这个参数总是建立该Applet的panel的图形上下文,我们可以用这个图形上下文在Applet中绘图或写入文本。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值