生活随笔
收集整理的這篇文章主要介紹了
APPLET基础
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、什么是applet
applet是一種Java程序。它一般運行在支持Java的Web瀏覽器內(nèi)。因為它有完整的Java API支持,所以applet是一個全功能的Java應(yīng)用程序。
如下所示是獨立的Java應(yīng)用程序和applet程序之間重要的不同:
- Java中applet類繼承了?java.applet.Applet類
- Applet類沒有定義main(),所以一個?Applet程序不會調(diào)用main()方法,
- Applets被設(shè)計為嵌入在一個HTML頁面。
- 當用戶瀏覽包含Applet的HTML頁面,Applet的代碼就被下載到用戶的機器上。
- 要查看一個applet需要JVM。?JVM可以是Web瀏覽器的一個插件,或一個獨立的運行時環(huán)境。
- 用戶機器上的JVM創(chuàng)建一個applet類的實例,并調(diào)用Applet生命周期過程中的各種方法。
- Applets有Web瀏覽器強制執(zhí)行的嚴格的安全規(guī)則,applet的安全機制被稱為沙箱安全。
- applet需要的其他類可以用Java歸檔(JAR)文件的形式下載下來。
二、工作原理 Java Applet 可以大大提高Web頁面的交互能力和動態(tài)執(zhí)行能力。包含Applet的網(wǎng)頁被稱為Java-powered頁,可以稱其為Java支持的網(wǎng)頁。當
Applet用戶訪問這樣的網(wǎng)頁時,Applet被下載到用戶的計算機上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶的計算機上執(zhí)行的,所以它的執(zhí)行速度不受網(wǎng)絡(luò)帶寬或者Modem存取速度的限制,用戶可以更好地欣賞網(wǎng)頁上Applet產(chǎn)生的多媒體效果。在Java Applet中,可以實現(xiàn)圖形繪制,字體和顏色控制,動畫和聲音的插入,人機交互及網(wǎng)絡(luò)交流等功能。 Applet還提供了名為抽象窗口工具箱(Abstract Window Toolkit,?AWT)的窗口環(huán)境開發(fā)工具。 AWT利用用戶計算機的GUI元素,可以建立標準的圖形用戶界面,如窗口、按鈕、滾動條等等。目前,在網(wǎng)絡(luò)上有非常多的Applet范例來生動地展現(xiàn)這些功能,讀者可以去調(diào)閱相應(yīng)的網(wǎng)頁以觀看它們的效果。 Applet?小應(yīng)用程序的實現(xiàn)主要依靠java.applet包中的Applet類。與一般的應(yīng)用程序不同,Applet應(yīng)用程序必須嵌入在HTML頁面中,才能得到解釋執(zhí)行;同時Applet可以從Web頁面中獲得參數(shù),并和Web頁面進行交互。 Applet是一種Java的小程序,它通過使用該Applet的HTML文件,由支持Java的網(wǎng)頁瀏覽器下載運行。也可以通過java開發(fā)工具的appletviewer來運行。Applet 程序離不開使用它的HTML文件。這個HTML文件中關(guān)于Applet的信息至少應(yīng)包含以下三點: 1)字節(jié)碼文件名(編譯后的Java文件,以.class為后綴) 2)字節(jié)碼文件的地址 3)在網(wǎng)頁上顯示Applet的方式。 一個HTML文件增加Applet有關(guān)的內(nèi)容只是使網(wǎng)頁更加富有生氣,如添加聲音、動畫等這些吸引人的特征,它并不會改變HTML文件中與Applet無關(guān)的元素。安全性限制 為了防止這樣的問題出現(xiàn),在缺省的情況下,大多數(shù)瀏覽器在Applet安全方面受到諸多的限制,幾乎不能對系統(tǒng)進行任何“讀”或“寫”的操作: 1. 不允許Applet訪問本地文件系統(tǒng) 2. Applet不能執(zhí)行任何本地計算機上的程序 3. 不允許Applet嘗試打開除提供Applet的服務(wù)器之外的任何系統(tǒng)的Socket 4. 不允許Applet訪問用戶名、電子郵件地址等與本地系統(tǒng)有關(guān)的信息 5. 對于Applet而言,Java環(huán)境中的某些標準系統(tǒng)屬性是只讀的 6. Applet不能創(chuàng)建或裝載Applet的機器的網(wǎng)絡(luò)連接 7. Applet不能充當網(wǎng)絡(luò)服務(wù)器,監(jiān)聽或接收來自遠程系統(tǒng)的連接請求 8. 不允許Applet裝載動態(tài)庫或定義本地方法調(diào)用 9. Applet不能操縱不在自己線程組中的任何線程 10. Applet不能關(guān)閉JVM。
三、應(yīng)用程序轉(zhuǎn)換成Applet
將圖形化的Java應(yīng)用程序(是指,使用AWT的應(yīng)用程序和使用java程序啟動器啟動的程序)轉(zhuǎn)換成嵌入在web頁面里的applet是很簡單的。
下面是將應(yīng)用程序轉(zhuǎn)換成applet的幾個步驟:
- 編寫一個HTML頁面,該頁面帶有能加載applet代碼的標簽。
- 編寫一個JApplet類的子類,將該類設(shè)置為public。否則,applet不能被加載。
- 消除應(yīng)用程序的main()方法。不要為應(yīng)用程序構(gòu)造框架窗口,因為你的應(yīng)用程序要顯示在瀏覽器中。
- 將應(yīng)用程序中框架窗口的構(gòu)造方法里的初始化代碼移到applet的init()方法中,你不必顯示的構(gòu)造applet對象,瀏覽器將通過調(diào)用init()方法來實例化一個對象。
- 移除對setSize()方法的調(diào)用,對于applet來講,大小已經(jīng)通過HTML文件里的width和height參數(shù)設(shè)定好了。
- 移除對?setDefaultCloseOperation()方法的調(diào)用。Applet不能被關(guān)閉,它隨著瀏覽器的退出而終止。
- 如果應(yīng)用程序調(diào)用了setTitle()方法,消除對該方法的調(diào)用。applet不能有標題欄。(當然你可以給通過html的title標簽給網(wǎng)頁自身命名)
- 不要調(diào)用setVisible(true),applet是自動顯示的。
四、總結(jié)
Applet程序只能嵌入到HTNL網(wǎng)頁中通過瀏覽器來運行,目的是為了增強網(wǎng)頁的表現(xiàn)能力和交互方式。?
轉(zhuǎn)載于:https://www.cnblogs.com/hcl390220670/p/8846454.html
總結(jié)
以上是生活随笔為你收集整理的APPLET基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。