国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

JavaApplet程序設(shè)計(jì)基礎(chǔ)

2019-11-18 14:30:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  java Applet 是用Java 語(yǔ)言編寫的一些小應(yīng)用程序,這些程序是直接嵌入到頁(yè)面中,由支持Java的瀏覽器(IE 或 Nescape)解釋執(zhí)行能夠產(chǎn)生非凡效果的程序。它可以大大提高Web頁(yè)面的交互能力和動(dòng)態(tài)執(zhí)行能力。包含Applet的網(wǎng)頁(yè)被稱為Java-powered頁(yè),可以稱其為Java支持的網(wǎng)頁(yè)。
  
  當(dāng)用戶訪問(wèn)這樣的網(wǎng)頁(yè)時(shí),Applet被下載到用戶的計(jì)算機(jī)上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶的計(jì)算機(jī)上執(zhí)行的,所以它的執(zhí)行速度不受網(wǎng)絡(luò)帶寬或者M(jìn)odem存取速度的限制,用戶可以更好地欣賞網(wǎng)頁(yè)上Applet產(chǎn)生的多媒體效果。
  
  Applet 小應(yīng)用程序的實(shí)現(xiàn)主要依靠java.applet 包中的Applet類。與一般的應(yīng)用程序不同,Applet應(yīng)用程序必須嵌入在Html頁(yè)面中,才能得到解釋執(zhí)行;同時(shí)Applet可以從Web頁(yè)面中獲得參數(shù),并和Web頁(yè)面進(jìn)行交互。
  
  含有Applet的網(wǎng)頁(yè)的HTML文件代碼中必須帶有<applet>和</applet>這樣一對(duì)標(biāo)記,當(dāng)支持Java的網(wǎng)絡(luò)瀏覽器碰到這對(duì)標(biāo)記時(shí),就將下載相應(yīng)的小程序代碼并在本地計(jì)算機(jī)上執(zhí)行該Applet小程序。
  
  Applet是一種Java的小程序,它通過(guò)使用該Applet的HTML文件,由支持Java的網(wǎng)頁(yè)瀏覽器下載運(yùn)行。也可以通過(guò)java開(kāi)發(fā)工具的appletviewer來(lái)運(yùn)行。Applet 程序離不開(kāi)使用它的HTML文件。這個(gè)HTML文件中關(guān)于Applet的信息至少應(yīng)包含以下三點(diǎn):
  
  1)字節(jié)碼文件名(編譯后的Java文件,以.class為后綴)
  
  2)字節(jié)碼文件的地址
  
  3)在網(wǎng)頁(yè)上顯示Applet的方式。
  
  一個(gè)HTML文件增加Applet有關(guān)的內(nèi)容只是使網(wǎng)頁(yè)更加富有生氣,如添加聲音、動(dòng)畫(huà)等這些吸引人的特征,它并不會(huì)改變HTML文件中與Applet無(wú)關(guān)的元素
  
  (一) Applet程序開(kāi)發(fā)步驟
  Applet程序開(kāi)發(fā)主要步驟如下:
  
  1)選用EDIT或Windows Notepad等工具作為編輯器建立Java Applet源程序。
  
  2)把Applet的源程序轉(zhuǎn)換為字節(jié)碼文件。
  
  3)編制使用class 的HTML文件。在HTML文件內(nèi)放入必要的<APPLET>語(yǔ)句。
  
  下面舉一個(gè)最簡(jiǎn)單的HelloWorld 例子來(lái)說(shuō)明Applet程序的開(kāi)發(fā)過(guò)程:
  
  (1) 編輯Applet 的java源文件
  創(chuàng)建文件夾C:/ghq,在該文件夾下建立 HelloWorld.java
  
  <b>文件的源代碼如下:</b>
  import java.awt.*;
  import java.applet.*;
  public class HelloWorld extends Applet //繼續(xù)Appelet類,這是Appelet Java程序的特點(diǎn)
  {
  public void paint(Graphics g )
  {
  g.drawString("Hello World!",5,35);
  }
  }
  
  保存上述程序在C:/ghq/HelloWorld.java文件里。
  
  (2)編譯Applet
  編譯HelloWorld.java源文件可使用如下JDK命令:
  
  C:/ghq/>javac HelloWorld.java<Enter>
  
  注重:假如編寫的源程序違反了Java編程語(yǔ)言的語(yǔ)法規(guī)則,Java編譯器將在屏幕上顯示語(yǔ)法錯(cuò)誤提示信息。源文件中必須不含任何語(yǔ)法錯(cuò)誤,Java編譯器才能成功地把源程序轉(zhuǎn)換為appletviewer和瀏覽器能夠執(zhí)行的字節(jié)碼程序。
  
  成功地編譯Java applet之后生成響應(yīng)的字節(jié)碼文件HelloWorld.class的文件。用資源治理器或DIR命令列出目錄列表,將會(huì)發(fā)現(xiàn)目錄C:/ghq中多了一個(gè)名為HelloWorld.class的文件。
  
  (3)創(chuàng)建HTML文件
  在運(yùn)行創(chuàng)建的HelloWorld.class 之前,還需創(chuàng)建一個(gè)HTML文件,appletviewer或?yàn)g覽器將通過(guò)該文件訪問(wèn)創(chuàng)建的Applet。為運(yùn)行HelloWorld.class, 需要?jiǎng)?chuàng)建包含如下HTML語(yǔ)句的名為HelloWorld.html的文件。
  
  <HTML>
  <TITLE>HelloWorld! Applet</TITLE>
  <APPLET
  CODE="JavaWorld.class"
  WIDTH=200
  HEIGHT=100>
  </APPLET>
  </HTML>
  
  本例中,<APPLET>語(yǔ)句指明該Applet字節(jié)碼類文件名和以像素為單位的窗口的尺寸。雖然這里HTML文件使用的文件名為HelloWorld.HTML,它對(duì)應(yīng)于HelloWorld.java的名字,但這種對(duì)應(yīng)關(guān)系不是必須的,可以用其他的任何名字(比如說(shuō)Ghq.HTML)命名該HTML文件。但是使文件名保持一種對(duì)應(yīng)關(guān)系可給文件的治理帶來(lái)方便。
  
  (4)執(zhí)行 HelloWorld.html
  假如用appletviewer運(yùn)行HelloWorld.html,需輸入如下的命令行:
  
  C:/ghq/>appletviewer JavaWorld.html<ENTER>
  
  可以看出,該命令啟動(dòng)了appletviewer并指明了HTML文件,該HTML文件中包含對(duì)應(yīng)于HelloWorld 的<APPLET>語(yǔ)句。
  
  假如用瀏覽器運(yùn)行HelloWorld Applet,需在瀏覽器的地址欄中輸入HTML文件URL地址。
  
  至此,一個(gè)Applet程序的開(kāi)發(fā)運(yùn)行整個(gè)過(guò)程結(jié)束了(包括java源文件、編譯的class文件、html文件以及用appletviewer或用瀏覽器運(yùn)行)。
  
  (二) Applet類
  Applet類是所有Applet應(yīng)用的基類,所有的Java小應(yīng)用程序都必須繼續(xù)該類。如下所示。
  
  import java. applet.*;
  public class OurApplet extends Applet
  {
  ......
  ......
  }
  
  Applet類的構(gòu)造函數(shù)只有一種,即:public Applet()
  
  Applet實(shí)現(xiàn)了很多基本的方法,下面列出了Applet類中常用方法和用途。
  
  public final void setStub(AppletStub stub)
  //設(shè)置Applet的stub.stub是Java和C之間轉(zhuǎn)換參數(shù)并返回值的代碼位,它是由系統(tǒng)自動(dòng)設(shè)定的。
  public boolean isActive();// 判定一個(gè)Applet是否處于活動(dòng)狀態(tài)。
  public URL getDocumentBase();// 檢索表示該Applet運(yùn)行的文件目錄的對(duì)象。
  public URL getCodeBase();// 獲取該Applet 代碼的URL地址。
  public String getParameter(String name);// 獲取該Applet 由name指定參數(shù)的值。
  public AppletContext getAppletContext();// 返回瀏覽器或小應(yīng)用程序觀察器。
  public void resize(int width,int height);// 調(diào)整Applet運(yùn)行的窗口尺寸。
  public void resize(Dimension d);// 調(diào)整Applet運(yùn)行的窗口尺寸。
  public void showStatus(String msg);// 在瀏覽器的狀態(tài)條中顯示指定的信息。
  public Image getImage(URL url); // 按url指定的地址裝入圖象。
  public Image getImage(URL url,String name);// 按url指定的地址和文件名加載圖像。
  public AudioClip getAudioClip(URL url);// 按url指定的地址獲取聲音文件。
  public AudioClip getAudioClip(URL url, String name);// 按url指定的地址和文件名獲取聲音。
  public String getAppletInfo();// 返回Applet應(yīng)用有關(guān)的作者、版本和版權(quán)方面的信息;
  public String[][] getParameterInfo();
  // 返回描述Applet參數(shù)的字符串?dāng)?shù)組,該數(shù)組通常包含三個(gè)字符串: 參數(shù)名、該參數(shù)所需值的類型和該參數(shù)的說(shuō)明。
  public void play(URL url);// 加載并播放一個(gè)url指定的音頻剪輯。
  public void destroy();//撤消Applet及其所占用的資源。若該Applet是活動(dòng)的,則先終止該Applet的運(yùn)行。
  
  (1) Applet運(yùn)行狀態(tài)控制基本方法
  Applet類中的四種基本方法用來(lái)控制其運(yùn)行狀態(tài):init()、start()、stop()、destroy()
  
  init()方法
  
  這個(gè)方法主要是為Applet的正常運(yùn)行做一些初始化工作。當(dāng)一個(gè)Applet被系統(tǒng)調(diào)用時(shí),系統(tǒng)首先調(diào)用的就是該方法。通常可以在該方法中完成從網(wǎng)頁(yè)向Applet傳遞參數(shù),添加用戶界面的基本組件等操作。
  
  start()方法
  
  系統(tǒng)在調(diào)用完init()方法之后,將自動(dòng)調(diào)用start()方法。而且,每當(dāng)用戶離開(kāi)包含該Applet的主頁(yè)后又再返回時(shí),系統(tǒng)又會(huì)再執(zhí)行一遍start()方法。這就意味著start()方法可以被多次執(zhí)行,而不像init()方法。因此,可把只希望執(zhí)行一遍的代碼放在init()方法中。可以在start()方法中開(kāi)始一個(gè)線程,如繼續(xù)一個(gè)動(dòng)畫(huà)、聲音等。
  
  stop()方法
  
  這個(gè)方法在用戶離開(kāi)Applet所在頁(yè)面時(shí)執(zhí)行,因此,它也是可以被多次執(zhí)行的。它使你可以在用戶并不注重Applet的時(shí)候,停止一些耗用系統(tǒng)資源的工作以免影響系統(tǒng)的運(yùn)行速度,且并不需要人為地去調(diào)用該方法。假如Applet中不包含動(dòng)畫(huà)、聲音等程序,通常也不必實(shí)現(xiàn)該方法。
  
  destroy()方法
  
  與對(duì)象的finalize()方法不同,Java在瀏覽器關(guān)閉的時(shí)候才調(diào)用該方法。Applet是嵌在HTML文件中的,所以destroty()方法不關(guān)心何時(shí)Applet被關(guān)閉,它在瀏覽器關(guān)閉的時(shí)候自動(dòng)執(zhí)行。在destroy()方法中一般可以要求收回占用的非內(nèi)存獨(dú)立資源。(假如在Applet仍在運(yùn)行時(shí)瀏覽器被關(guān)閉,系統(tǒng)將先執(zhí)行stop()方法,再執(zhí)行destroy()方法。
  
  (2) Applet應(yīng)用的有關(guān)參數(shù)說(shuō)明
  利用Applet來(lái)接收從HTML中傳遞過(guò)來(lái)的參數(shù),下面對(duì)這些參數(shù)作一簡(jiǎn)單說(shuō)明:
  
  * CODE標(biāo)志
  
  CODE標(biāo)志指定Applet的類名;WIDTH和HEIGHT標(biāo)志指定Applet窗口的像素尺寸。在APPLET語(yǔ)句里還可使用其他一些標(biāo)志。
  
  * CODEBASE 標(biāo)志
  
  CODEBASE標(biāo)志指定Applet的URL地址。Applet的通用資源定位地址URL,它可以是絕對(duì)地址 ,如www.sun.com。也可以是相對(duì)于當(dāng)前HTML所在目錄的相對(duì)地址,如/AppletPath/Name。假如HTML文件不指定CODEBASE 標(biāo)志,瀏覽器將使用和HTML文件相同的URL。
  
  * ALT 標(biāo)志
  
  雖然Java在WWW上很受歡迎,但并非所有瀏覽器都對(duì)其提供支持。假如某瀏覽器無(wú)法運(yùn)行Java Applet,那么它在碰到APPLET

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨竹工卡县| 云和县| 繁峙县| 洪洞县| 阳西县| 武城县| 乐东| 项城市| 揭阳市| 安顺市| 屏东市| 五常市| 抚宁县| 汉沽区| 北安市| 清水县| 华容县| 台前县| 许昌市| 洛川县| 博爱县| 双牌县| 安多县| 牡丹江市| 宣汉县| 绥中县| 广德县| 五华县| 昂仁县| 田东县| 从化市| 临洮县| 诸暨市| 漳平市| 麟游县| 博客| 兰州市| 平度市| 张家川| 江西省| 新津县|