最近项目需要用到Applet来实现本地操作串口,所以重温了一下applet。
applet的生命周期如下
applet的四种主要方法
public void init() : 由浏览器或appletviewer调用来告诉当前applet 它已被载入系统,该方法总在start()方法第一次被调用前调用
public void start() : 由浏览器或appletviewer调用来告诉当前applet它应该开始执行,该方法在init()方法后调用,并且每次Web页访问该applet时都会调用该方法
public void stop(): 由浏览器或appletviewer调用来告诉当前applet它应该停止执行,当包含当前applet的Web页被另一Web页所替代时会调用该方法,在调用destroy()方法前也会调用该方法
public void destroy(): 由浏览器或appletviewer调用来告诉当前applet它已被要求归还并且它应该清除分配给它的任何资源
请看下面这段代码
[java] view plain copy import java.awt.*; import java.util.*; public class cam1 extends java.applet.Applet { String s; int inits=0,starts=0,stops=0; public void init() { inits++; showStatus("now init"); System.out.println("now init"); pause(); showStatus("leave init"); System.out.println("leave init"); pause(); } public void start() { starts++; showStatus("now start"); System.out.println("now start"); pause(); showStatus("leave start"); System.out.println("leave start"); pause(); } public void stop() { stops++; showStatus("now stop"); System.out.println("now stop"); pause(); showStatus("leave stop"); System.out.println("leave stop"); pause(); } public void paint(Graphics g) { s="inits: "+inits+"starts: "+starts+"stops: "+stops; g.drawString(s, 10, 10); System.out.println("now paint: "+s); pause(); } public void pause() { Date d=new Date(); long t=d.getTime(); while(t+1000>d.getTime()) { d=new Date(); } } }