最近项目需要用到Applet来实现本地操作串口,所以重温了一下applet。
applet的生命周期如下
![](https://img-my.csdn.net/uploads/201302/12/1360674338_3389.jpg)
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它已被要求归还并且它应该清除分配给它的任何资源
请看下面这段代码
- 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();
- }
- }
- }