首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Applet 生命週期方法演示:init、start、stop 詳解

     編輯:Java 相關知識

觀察 Applet 框架方法的實際運作相當有趣。本例重點展示 init()、start() 和 stop() 三個核心方法,因為 paint() 和 destroy() 相對簡單,較易掌握。下列程式碼會追蹤這些方法的呼叫次數,並透過 paint() 將計數顯示於畫布上:

//: Applet3.java
// Shows init(), start() and stop() activities
import java.awt.*;
import java.applet.*;

public class Applet3 extends Applet {
    String s;
    int inits = 0;
    int starts = 0;
    int stops = 0;

    public void init() {
        inits++;
    }

    public void start() {
        starts++;
    }

    public void stop() {
        stops++;
    }

    public void paint(Graphics g) {
        s = "inits: " + inits + ", starts: " + starts + ", stops: " + stops;
        g.drawString(s, 10, 10);
    }
} ///:~

正常情況下,覆寫方法時需檢查是否需要呼叫父類版本(如 super.init())。然而,Applet 文件明確指出 init()、start() 和 stop() 在 Applet 基類中無實質功能,因此此處無需呼叫它們。

實驗時會發現:若最小化瀏覽器視窗或被其他視窗遮蓋,stop() 和 start() 不會被頻繁呼叫(此行為隨實作而異,可對比瀏覽器與 Applet Viewer 的差異)。這兩個方法僅在切換至其他網頁後返回包含 Applet 的頁面時才會被觸發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved