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

Java Applet 開發入門:生命週期、安全限制與參數傳遞實戰

     編輯:Java 程式設計入門

第一個 Applet 程序

Java 源碼

import java.awt.*;
import java.applet.Applet;

public class HelloWorld extends Applet {
    String text;
    
    public void init() {
        text = "Hello World";
        this.setBackground(new Color(120, 180, 140));
    }
    
    public void paint(Graphics g) {
        g.drawString(text, 25, 25);
    }
}

註:原文 puvlic 為拼寫錯誤,已修正為 public。

HTML 嵌入代碼

<html>
<applet code="HelloWorld.class" width=200 height=150></applet>
</html>

Applet 生命週期方法

方法階段調用時機
init()初始化Applet 加載時調用一次,完成資源初始化
start()運行init() 後、頁面可見時調用,可多次觸發
stop()停止頁面不可見、瀏覽器最小化時調用
destroy()銷毀瀏覽器關閉、Applet 卸載前調用一次,釋放資源

init() 實戰示例:動態添加組件

public class Test extends Applet {
    public void init() {
        this.add(new Button("Start"));
        this.add(new Button("Stop"));
        this.setBackground(Color.BLUE);
    }
    public void paint(Graphics g) {
        g.drawString("Hello World!", 20, 20);
    }
}

Applet 默認佈局管理器為 FlowLayout,繼承自 Panel → Container → Component,故可直接調用 add()、setBackground() 等方法。

Applet 安全沙箱限制

  • 禁止執行本地可執行程序
  • 禁止訪問除代碼源服務器外的其他遠程服務器
  • 禁止讀寫、刪除本地文件系統
  • 僅允許獲取非敏感系統信息(如 java.version、os.name)

簽名 Applet 可通過用戶授權提升權限,但現代瀏覽器已全面棄用 NPAPI 插件支持。

Applet 標籤完整屬性

<applet
    [archive = archiveList]       <!-- JAR 包列表 -->
    code = appletFile.class       <!-- 主類文件 -->
    width = pixels                <!-- 寬度 -->
    height = pixels               <!-- 高度 -->
    [codebase = codebaseURL]      <!-- 類文件基礎路徑 -->
    [alt = alternateText]         <!-- 不支持 Java 時顯示 -->
    [name = appletInstanceName]   <!-- 實例名稱,可作參數傳遞 -->
    [align = alignment]           <!-- 對齊方式 -->
    [vspace = pixels]             <!-- 垂直間距 -->
    [hspace = pixels]             <!-- 水平間距 -->
>
    [<param name = val1 value = value1/>]
    [<param name = val2 value = value2/>]
</applet>

參數傳遞實戰

HTML

<html>
<applet code="Test.class" width=200 height=100>
    <param name="topic" value="Computer Science" />
</applet>
</html>

Java

public class Test extends Applet {
    private String topic;
    public void init() {
        topic = this.getParameter("topic");  // 注意:原文 getParammeter 拼寫錯誤
        this.setBackground(new Color(120, 180, 140));
    }
    public void paint(Graphics g) {
        g.drawString(topic, 25, 25);
    }
}

歷史注記:Applet 技術自 Java 9 起被標記為废棄,Java 11 移除。現代 Web 開發請使用 JavaScript/WebAssembly 替代方案。

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