設(shè)為首頁 | 加為收藏 | 聯(lián)系我們 咨詢熱線:0632-5272123
電 話:0632-5272123
傳 真:0632-5271123
地 址: 棗莊市文化西路23號
E-mail:zzint@zzint.com
  • 技術(shù)咨詢:
  • 業(yè)務(wù)咨詢:
  • 客戶服務(wù):
  • 服務(wù)監(jiān)督:
詳細(xì)資料 您當(dāng)前的位置:網(wǎng)站首頁新聞動態(tài)詳細(xì)資料

Java Applet基礎(chǔ)知識


Applet是一個可以嵌入到網(wǎng)頁中的Java程序。它在Web瀏覽器中運(yùn)行,并在客戶端工作。Applet使用APPLET或OBJECT標(biāo)記嵌入在HTML頁面中,并托管在Web服務(wù)器上。


小程序用于使網(wǎng)站更具動態(tài)性和娛樂性。


一些要點(diǎn):


所有applet都是java.applet.Applet類的子類(直接或間接)。

小程序不是獨(dú)立的程序。相反,它們可以在Web瀏覽器或applet查看器中運(yùn)行。JDK提供了一個名為applet viewer的標(biāo)準(zhǔn)applet查看器工具。

通常,applet的執(zhí)行不是從main()方法開始的。

System.out.println()不執(zhí)行applet窗口的輸出。而是使用各種AWT方法處理它,例如drawString()。

applet的生命周期:





重要的是要理解上面圖像中顯示的各種方法的調(diào)用順序。當(dāng)applet開始時,將按以下順序調(diào)用以下方法:


1.的init()

2.開始()

3.涂料()


當(dāng)applet終止時,會發(fā)生以下方法調(diào)用序列:

1。stop()

2。destroy()

讓我們更仔細(xì)地看一下這些方法。


的init():該的init()方法被調(diào)用的第一個方法。這是您應(yīng)該初始化變量的地方。在applet運(yùn)行期間只調(diào)用一次此方法。

開始():該起動()方法被調(diào)用后的init() 。它也被稱為在applet停止后重新啟動它。請注意,init()被調(diào)用一次,即第一次加載applet時,每次applet的HTML文檔顯示在屏幕上時都會調(diào)用start()。因此,如果用戶離開網(wǎng)頁并返回,則applet將在start()處繼續(xù)執(zhí)行。

漆():該涂料()方法在每次基于AWT的applet的輸出必須被重畫時調(diào)用。出現(xiàn)這種情況有幾個原因。例如,運(yùn)行applet的窗口可能被另一個窗口覆蓋,然后被覆蓋;蛘呖梢孕』痑pplet窗口然后恢復(fù)。

當(dāng)applet開始執(zhí)行時也會調(diào)用paint()。無論原因是什么,每當(dāng)applet必須重繪其輸出時,都會調(diào)用paint()。


的涂料()方法有類型的一個參數(shù)的圖形。此參數(shù)將包含圖形上下文,該上下文描述運(yùn)行applet的圖形環(huán)境。只要需要輸出到applet,就會使用此上下文。


停止():將停止()時,Web瀏覽器離開包含在HTML文檔的方法被稱為小程序,當(dāng)它到另一個網(wǎng)頁,例如。當(dāng)停止()被調(diào)用時,小程序可能運(yùn)行。您應(yīng)該使用stop()來掛起當(dāng)applet不可見時不需要運(yùn)行的線程。如果用戶返回頁面,則可以在調(diào)用start()時重新啟動它們。

destroy()方法:將銷毀()當(dāng)環(huán)境決定了你的小程序需要從內(nèi)存中完全去除方法被調(diào)用。此時,您應(yīng)該釋放applet可能正在使用的任何資源。將停止()方法總是調(diào)用之前destroy()方法。

創(chuàng)建Hello World小程序:


讓我們從HelloWorld applet開始:


filter_none

編輯

play_arrow


brightness_4

// A Hello World Applet 

// Save file as HelloWorld.java 

  

import java.applet.Applet; 

import java.awt.Graphics; 

  

// HelloWorld class extends Applet 

public class HelloWorld extends Applet  

    // Overriding paint() method 

    @Override

    public void paint(Graphics g)  

    { 

        g.drawString("Hello World", 20, 20); 

    } 

      

說明:


上面的java程序以兩個import語句開頭。第一個import語句從applet包導(dǎo)入Applet類。您創(chuàng)建的每個基于AWT的(抽象窗口工具包)小程序必須是Applet類的子類(直接或間接)。第二個語句從awt包導(dǎo)入Graphics類。

程序的下一行聲明了HelloWorld類。必須將此類聲明為public,因?yàn)樗鼘⒂沙绦蛲獠康拇a訪問。在HelloWorld中,聲明了paint()。此方法由AWT定義,必須由applet覆蓋。

內(nèi)部paint()是對drawString()的調(diào)用,它是Graphics類的成員。此方法輸出從指定的X,Y位置開始的字符串。它具有以下一般形式:

void drawString(String message,int x,int y)

這里,message是從x,y開始輸出的字符串。在Java窗口中,左上角是位置0,0。在applet中調(diào)用drawString()會導(dǎo)致從位置20,20開始顯示消息“Hello World”。


請注意,applet沒有main()方法。與Java程序不同,applet不會在main()處開始執(zhí)行。實(shí)際上,大多數(shù)applet甚至沒有main()方法。相反,applet在其類的名稱傳遞給applet查看器或網(wǎng)絡(luò)瀏覽器時開始執(zhí)行。


運(yùn)行HelloWorld Applet:


輸入HelloWorld.java的源代碼后,編譯方式與編譯java程序的方式相同(使用javac命令)。但是,使用java命令運(yùn)行HelloWorld 會生成錯誤,因?yàn)樗皇菓?yīng)用程序。




java HelloWorld


錯誤:在HelloWorld類中找不到主方法,請將main方法定義為:

   public static void main(String [] args)

您可以通過兩種標(biāo)準(zhǔn)方式運(yùn)行applet:


在兼容Java的Web瀏覽器中執(zhí)行applet。

使用applet查看器,例如標(biāo)準(zhǔn)工具appletviewer。applet查看器在窗口中執(zhí)行applet。這通常是測試applet的快速,簡單的方法。

接下來描述這些方法中的每一種。


使用支持java的Web瀏覽器:要在Web瀏覽器中執(zhí)行applet,我們必須編寫一個包含加載applet的標(biāo)記的簡短HTML文本文件。為此,我們可以使用APPLET或OBJECT標(biāo)記。使用APPLET,這是執(zhí)行HelloWorld的HTML文件:

<applet code =“HelloWorld”width = 200 height = 60>

</ APPLET>

width和height語句指定applet使用的顯示區(qū)域的尺寸。APPLET標(biāo)記包含其他幾個選項(xiàng)。創(chuàng)建此html文件后,您可以使用它來執(zhí)行applet。


注意: Chrome和Firefox不再支持NPAPI(Java applet所需的技術(shù))。請參考這里


使用appletviewer:這是運(yùn)行applet的簡單方法。要使用applet查看器執(zhí)行HelloWorld,您還可以執(zhí)行前面顯示的HTML文件。例如,如果使用

RunHelloWorld.html 保存前面的HTML文件,則以下命令行將運(yùn)行HelloWorld:

appletviewer RunHelloWorld.html

HelloWorld Applet


帶有java源文件的appletviewer:如果在包含APPLET標(biāo)記的Java源代碼文件的頭部包含注釋,那么使用必要的HTML語句原型記錄代碼,并且只需啟動編譯的applet就可以運(yùn)行帶有Java源代碼文件的applet查看器。如果使用此方法,HelloWorld源文件如下所示:

filter_none

編輯

play_arrow


brightness_4

// A Hello World Applet 

// Save file as HelloWorld.java 

  

import java.applet.Applet; 

import java.awt.Graphics; 

  

/* 

<applet code="HelloWorld" width=200 height=60> 

</applet> 

*/

  

// HelloWorld class extends Applet 

public class HelloWorld extends Applet  

    // Overriding paint() method 

    @Override

    public void paint(Graphics g)  

    { 

        g.drawString("Hello World", 20, 20); 

    } 

      

使用這種方法,首先編譯HelloWorld.java文件然后只需運(yùn)行以下命令來運(yùn)行applet:


appletviewer HelloWorld

Applet over HTML的功能


顯示W(wǎng)eb應(yīng)用程序的動態(tài)Web頁面。

播放聲音文件。

顯示文件

播放動畫



這個副標(biāo)題由Surya Priy提供。

對Java小程序施加的限制

由于安全原因,Java小程序受到以下限制:


1. applet無法加載庫或定義本機(jī)方法。

2.小程序通常不能在執(zhí)行主機(jī)上讀取或?qū)懭胛募?/p>

3.小程序無法讀取某些系統(tǒng)屬性。

4.小程序除了來自它的主機(jī)之外不能建立網(wǎng)絡(luò)連接。

5. applet無法啟動正在執(zhí)行它的主機(jī)上的任何程序。


本文由Krishna Bhatia和Pavan Gopal Rayapati撰寫。如果你喜歡GeeksforGeeks并愿意貢獻(xiàn),你也可以用寫一篇文章contribute.geeksforgeeks.org或郵寄你的文章contribute@geeksforgeeks.org。查看出現(xiàn)在GeeksforGeeks主頁上的文章,并幫助其他Geeks。


如果您發(fā)現(xiàn)任何不正確的內(nèi)容,或者您想要分享有關(guān)上述主題的更多信息,請撰寫評論。




上篇文章:Applet或Java小應(yīng)用程序是
下篇文章:棗莊市滕州昊揚(yáng)泡花堿廠
版權(quán)所有 棗莊市英特信息網(wǎng)絡(luò)有限公司 ◎2017
聯(lián)系電話:0632-5271123 5272123  總部地址:棗莊市市中區(qū)文化西路23號
魯ICP備09021689號 增值電信業(yè)務(wù)經(jīng)營許可證編號:魯 B2-20080087號