Java基础——Applet学习的知识

来源:互联网 发布:日语红宝书蓝宝书知乎 编辑:程序博客网 时间:2024/06/09 22:40

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中绘图或写入文本。
原创粉丝点击