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

Applet 與 Application 的合併實現

     編輯:Java 程式設計入門

Java 是構建分布式應用的技術,將 Internet 從通訊工具擴展為能運行成熟應用程式的網絡。Java 程式分為 Applet 與 Application 兩類:簡單來說,Applet 是嵌入網頁文檔的程式,而 Application 則是除此以外的所有類型程式。雖然兩者在規模與複雜度上無限制,但因 Applet 主要用於網路傳輸,受限於頻寬與下載時間,通常規模較小;Application 則無此顧慮。

兩者的技術差異源於運行環境不同。Applet 需瀏覽器提供大量資訊:客戶端位置大小、HTML 參數、生命週期方法(init、start、stop、destroy、paint 等);Application 則相對簡單,唯一的外部輸入僅有命令列參數。Applet 必須繼承 java.applet.Applet,Application 則需具備 public static void main(String[] args) 方法。主執行緒也不同:Applet 由 init() 初始化,Application 由 main() 啟動。

然而,我們可運用技巧編寫「即是 Applet 又是 Application」的程式,使同一代碼能在不同環境運行。以下範例展示如何實現:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Example extends Applet implements ActionListener {
    public static void main(String[] args) {
        Frame win = new Frame("Example");
        Example example = new Example();
        win.add("Center", example);
        example.init(); // 手動調用 init()
        win.setSize(600, 360);
        win.setVisible(true);
    }
    public void init() {
        Button button = new Button("OK");
        button.setBounds(280, 200, 100, 20);
        button.addActionListener(this);
        Label label = new Label();
        label.setBounds(260, 100, 200, 20);
        add(button);
        add(label);
    }
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == button) {
            label.setText("It is a example!");
        }
    }
}

關鍵點:
① 類繼承 Applet 滿足 Applet 條件;
② main() 中建立實例並手動調用 init();
③ init() 實現介面初始化。編譯後,既可在命令列作為 Application 直接運行,也可嵌入網頁作為 Applet 在瀏覽器中執行。

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