DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> Java Applet程序設計基礎
Java Applet程序設計基礎
編輯:CSS詳解     
Java Applet 是用Java 語言編寫的一些小應用程序,這些程序是直接嵌入到頁面中,由支持Java的浏覽器(IE 或 Nescape)解釋執行能夠產生特殊效果的程序。它可以大大提高Web頁面的交互能力和動態執行能力。包含Applet的網頁被稱為Java-powered頁,可以稱其為Java支持的網頁。

  當用戶訪問這樣的網頁時,Applet被下載到用戶的計算機上執行,但前提是用戶使用的是支持Java的網絡浏覽器。由於Applet是在用戶的計算機上執行的,所以它的執行速度不受網絡帶寬或者Modem存取速度的限制,用戶可以更好地欣賞網頁上Applet產生的多媒體效果。

  Applet 小應用程序的實現主要依靠Java.applet 包中的Applet類。與一般的應用程序不同,Applet應用程序必須嵌入在Html頁面中,才能得到解釋執行;同時Applet可以從Web頁面中獲得參數,並和Web頁面進行交互。

  含有Applet的網頁的Html文件代碼中必須帶有<applet>和</applet>這樣一對標記,當支持Java的網絡浏覽器遇到這對標記時,就將下載相應的小程序代碼並在本地計算機上執行該Applet小程序。

  Applet是一種Java的小程序,它通過使用該Applet的Html文件,由支持Java的網頁浏覽器下載運行。也可以通過Java開發工具的appletvIEwer來運行。Applet 程序離不開使用它的HTML文件。這個Html文件中關於Applet的信息至少應包含以下三點:

  1)字節碼文件名(編譯後的Java文件,以.class為後綴)

  2)字節碼文件的地址

  3)在網頁上顯示Applet的方式。

  一個HTML文件增加Applet有關的內容只是使網頁更加富有生氣,如添加聲音、動畫等這些吸引人的特征,它並不會改變Html文件中與Applet無關的元素。

  (一) Applet程序開發步驟

  Applet程序開發主要步驟如下:

  1)選用EDIT或Windows Notepad等工具作為編輯器建立Java Applet源程序。

  2)把Applet的源程序轉換為字節碼文件。

  3)編制使用class 的HTML文件。在Html文件內放入必要的<APPLET>語句。

  下面舉一個最簡單的HelloWorld 例子來說明Applet程序的開發過程:

  (1) 編輯Applet 的Java源文件

  創建文件夾C:\ghq,在該文件夾下建立 HelloWorld.Java

  文件的源代碼如下:

 

import Java.awt.*;
import Java.applet.*;
public class HelloWorld extends Applet //繼承Appelet類,這是Appelet Java程序的特點
{
 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編程語言的語法規則,Java編譯器將在屏幕上顯示語法錯誤提示信息。源文件中必須不含任何語法錯誤,Java編譯器才能成功地把源程序轉換為appletvIEwer和浏覽器能夠執行的字節碼程序。

  成功地編譯Java applet之後生成響應的字節碼文件HelloWorld.class的文件。用資源管理器或DIR命令列出目錄列表,將會發現目錄C:\ghq中多了一個名為HelloWorld.class的文件。

  (3)創建Html文件

  在運行創建的HelloWorld.class 之前,還需創建一個HTML文件,appletvIEwer或浏覽器將通過該文件訪問創建的Applet。為運行HelloWorld.class, 需要創建包含如下HTML語句的名為HelloWorld.Html的文件。

 

<Html>
<TITLE>HelloWorld! Applet</TITLE>
<APPLET
CODE="JavaWorld.class"
WIDTH=200
HEIGHT=100>
</APPLET>
</Html>

 

  本例中,<APPLET>語句指明該Applet字節碼類文件名和以像素為單位的窗口的尺寸。雖然這裡HTML文件使用的文件名為HelloWorld.Html,它對應於HelloWorld.Java的名字,但這種對應關系不是必須的,可以用其他的任何名字(比如說Ghq.HTML)命名該Html文件。但是使文件名保持一種對應關系可給文件的管理帶來方便。

  (4)執行 HelloWorld.Html

  如果用appletvIEwer運行HelloWorld.Html,需輸入如下的命令行:

 

C:\ghq\>appletvIEwer JavaWorld.Html<ENTER>

 

  可以看出,該命令啟動了appletvIEwer並指明了HTML文件,該Html文件中包含對應於HelloWorld 的<APPLET>語句。

  如果用浏覽器運行HelloWorld Applet,需在浏覽器的地址欄中輸入Html文件URL地址。

  至此,一個Applet程序的開發運行整個過程結束了(包括Java源文件、編譯的class文件、Html文件以及用appletvIEwer或用浏覽器運行)。

(二) Applet類

  Applet類是所有Applet應用的基類,所有的Java小應用程序都必須繼承該類。如下所示。

import Java. applet.*;
public class OurApplet extends Applet
{
......
......
}

  Applet類的構造函數只有一種,即:public Applet()

  Applet實現了很多基本的方法,下面列出了Applet類中常用方法和用途。

public final void setStub(AppletStub stub)
//設置Applet的stub.stub是Java和C之間轉換參數並返回值的代碼位,它是由系統自動設定的。
public boolean isActive();// 判斷一個Applet是否處於活動狀態。
public URL getDocumentBase();// 檢索表示該Applet運行的文件目錄的對象。
public URL getCodeBase();// 獲取該Applet 代碼的URL地址。
public String getParameter(String name);// 獲取該Applet 由name指定參數的值。
public AppletContext getAppletContext();// 返回浏覽器或小應用程序觀察器。
public void resize(int width,int height);// 調整Applet運行的窗口尺寸。
public void resize(Dimension d);// 調整Applet運行的窗口尺寸。
public void showStatus(String msg);// 在浏覽器的狀態條中顯示指定的信息。
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應用有關的作者、版本和版權方面的信息;
public String[][] getParameterInfo();
// 返回描述Applet參數的字符串數組,該數組通常包含三個字符串: 參數名、該參數所需值的類型和該參數的說明。
public void play(URL url);// 加載並播放一個url指定的音頻剪輯。
public void destroy();//撤消Applet及其所占用的資源。若該Applet是活動的,則先終止該Applet的運行。

  (1) Applet運行狀態控制基本方法

  Applet類中的四種基本方法用來控制其運行狀態:init()、start()、stop()、destroy()

  init()方法

  這個方法主要是為Applet的正常運行做一些初始化工作。當一個Applet被系統調用時,系統首先調用的就是該方法。通常可以在該方法中完成從網頁向Applet傳遞參數,添加用戶界面的基本組件等操作。

  start()方法

  系統在調用完init()方法之後,將自動調用start()方法。而且,每當用戶離開包含該Applet的主頁後又再返回時,系統又會再執行一遍start()方法。這就意味著start()方法可以被多次執行,而不像init()方法。因此,可把只希望執行一遍的代碼放在init()方法中。可以在start()方法中開始一個線程,如繼續一個動畫、聲音等。

  stop()方法

  這個方法在用戶離開Applet所在頁面時執行,因此,它也是可以被多次執行的。它使你可以在用戶並不注意Applet的時候,停止一些耗用系統資源的工作以免影響系統的運行速度,且並不需要人為地去調用該方法。如果Applet中不包含動畫、聲音等程序,通常也不必實現該方法。

  destroy()方法

  與對象的finalize()方法不同,Java在浏覽器關閉的時候才調用該方法。Applet是嵌在Html文件中的,所以destroty()方法不關心何時Applet被關閉,它在浏覽器關閉的時候自動執行。在destroy()方法中一般可以要求收回占用的非內存獨立資源。(如果在Applet仍在運行時浏覽器被關閉,系統將先執行stop()方法,再執行destroy()方法。

  (2) Applet應用的有關參數說明

  利用Applet來接收從Html中傳遞過來的參數,下面對這些參數作一簡單說明:

  * CODE標志

  CODE標志指定Applet的類名;WIDTH和HEIGHT標志指定Applet窗口的像素尺寸。在APPLET語句裡還可使用其他一些標志。

  * CODEBASE 標志

  CODEBASE標志指定Applet的URL地址。Applet的通用資源定位地址URL,它可以是絕對地址 ,如www.sun.com。也可以是相對於當前HTML所在目錄的相對地址,如/AppletPath/Name。如果HTML文件不指定CODEBASE 標志,浏覽器將使用和Html文件相同的URL。

  * ALT 標志

  雖然Java在WWW上很受歡迎,但並非所有浏覽器都對其提供支持。如果某浏覽器無法運行Java Applet,那麼它在遇到APPLET語句時將顯示ALT標志指定的文本信息。

  * ALIGN 標志

  ALIGN標志可用來控制把Applet窗口顯示在HTML文檔窗口的什麼位置。與Html<LMG>語句一樣,ALIGN標志指定的值可以是TOP、MIDDLE或BOTTOM。

  * VSPACE與HSPACE 標志

  VSPACE和HSPACE標志指定浏覽器顯示在Applet窗口周圍的水平和豎直空白條的尺寸,單位為像素。如下例使用該標志在Applet窗口之上和之下各留出50像素的空白,在其左和其右各留出25像素的空白:

  * NAME 標志

  NAME標志把指定的名字賦予Applet的當前實例。當浏覽器同時運行兩個或多個Applet時,各Applet可通過名字相互引用或交換信息。如果忽略NAME標志,Applet的名字將對應於其類名。

  * PARAM 標志

  通用性是程序設計所追求的目標之一。使用戶或者程序員能很方便地使用同一個Applet完成不同的任務是通用性的具體表現。從Html文件獲取信息是提高Applet通用性的一條有效途徑。

  假設編制了一個把某公司的名字在屏幕上卷動的Applet。為了使該Applet更加通用,則可以使該Applet從Html文件獲取需要卷動的文本信息。這樣,若想顯示另一個公司的名字,用不著修改Java Applet本身,只需修改Html文件即可。

  PARAM 標志可用來在Html文件裡指定參數,格式如下所示:

PARAM Name="name" Value="Liter"

  Java Applet可調用getParameter方法獲取Html文件裡設置的參數值。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved