跳至內容

Java applet

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

AppletJava小應用程序是一種在Web環境下,運行於客戶端Java程序組件。它是1990年代中期,Java在誕生後得以一炮走紅的功臣之一。通常,每個Applet的功能都比較單一(例如僅用於顯示一個舞動的Logo),因此它被稱作「小應用程序」1JDK 9 以後不再支持。

Applet必須運行於某個特定的「容器」,這個容器可以是瀏覽器本身,也可以是各種插件,或者是支持Applet的移動設備在內的其他各種程序。與一般的Java應用程序不同,Applet不是通過main方法來運行的(參見Java的Hello World程序和Java Applet的Hello World程序)。在運行時,Applet通常會與用戶進行互動,顯示動態的畫面,並且還會遵循嚴格的安全檢查,阻止潛在的不安全因素(例如根據安全策略,限制Applet對客戶端文件系統的訪問)。

2016年,甲骨文公司宣布Applet只保留至JDK 8,JDK 9以後的版本不再支持。自2013年開始,主流的瀏覽器因為安全穩定因素,逐漸不支持Applet。大部分瀏覽器在2021年已完全不支持Applet等外掛程序。[1][2][3][4]

應用範例

[編輯]
  • AWT方式編寫一個顯示「Hello, world!」的Java applet。
import java.applet.Applet;
import java.awt.*;

// Applet code for the "Hello, world!" example.
// This should be saved in a file named as "HelloWorld.java".
public class HelloWorld extends Applet {
  // This method is mandatory, but can be empty (i.e., have no actual code).
  public void init() { }

  // This method is mandatory, but can be empty.(i.e.,have no actual code).
  public void stop() { }

  // Print a message on the screen (x=20, y=10).
  public void paint(Graphics g) {
    g.drawString("Hello, world!", 20,10);
  
  // Draws a circle on the screen (x=40, y=30).
    g.drawArc(40,30,20,20,0,360);
  }
}
  • 上述Java的Code編譯成HelloWorld.class,再通過以下網頁使用。
<!DOCTYPE HTML PUBLIC 
  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <HTML>
        <HEAD>
            <TITLE>HelloWorld_example.html</TITLE>
        </HEAD>
    <BODY>
        <H1>A Java applet example</H1>
            <P>Here it is: 
                <APPLET code="HelloWorld.class" WIDTH="200" HEIGHT="40">
                    This is where HelloWorld.class runs.
                </APPLET>
            </P>
    </BODY>
</HTML>

注釋

[編輯]
  1. Applet是由英語應用程序Application的縮寫App和代表「小」的後綴let組成。ServletServer-let)、MIDletMobile Information Device-let)和JSP中的Scriptlet的命名也是基於同樣原理。

參見

[編輯]

參考文獻

[編輯]
  1. ^ Oracle Announces End Of Java Applet Support. [2022-12-20]. (原始內容存檔於2022-12-20). 
  2. ^ Chrome 不再支援 NPAPI (Java Applet 所需的技術). [2022-12-20]. (原始內容存檔於2022-12-20). 
  3. ^ Oracle Java SE Support Roadmap). [2022-12-20]. (原始內容存檔於2020-11-29). 
  4. ^ NPAPI). [2022-12-20]. (原始內容存檔於2023-01-18).