網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet:...

40
網網網網網網 1.Applet: 本本本本本本本 2.Applet 本本本本 3.Servlet: 本本本本本本本 4.Servlet 本本本本 5.E-mail 本本 6. 本本本本 7. 本本 HTML 本本本本本
  • date post

    18-Dec-2015
  • Category

    Documents

  • view

    245
  • download

    3

Transcript of 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet:...

Page 1: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

網路程式設計

1.Applet: 本地端應用程式2.Applet 進階應用3.Servlet: 伺服端應用程式4.Servlet 進階應用5.E-mail 收發6. 下載檔案7. 顯示 HTML 原始程式碼

Page 2: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.Applet: 本地端應用程式

1.1 什麼是 Applet

1.2 Applet 程式架構1.3 Applet 之生命週期1.4 Applet 之執行方式1.5 Applet 之標籤定義語法1.6 網頁參數傳遞1.7 將 Application 改寫為 Applet

1.8 Applet 類別及查用方法

Page 3: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.1 什麼是 Applet

定義 Java Applet 是一種從網路下載至本地端以瀏覽器執行之程式,當瀏覽器讀到包含 applet 的網頁程式時,它就會依網頁中的指示執行該 applet 程式。 Applet 與 Application 應用程式之差別,在於 Applet 必須透過 Browser 或 Appletviewer 方能執行,而 Application 可在 Java 環境下獨立執行。

Page 4: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.1 什麼是 Applet

應用限制 由於 Applet 是遠端下載至本地端執行之程式,需要考量該程式是否會造成本地端檔案或系統上之安全威脅,因此 applet 之應用範圍需加以限制,下列運算是被限制部被允許的範疇:

讀取或修改本地端之檔案 執行本地端的程式 與存放 applet 及網頁以外之伺服器連結 查詢有關系統使用者之基本資料

Page 5: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.2 Applet 程式架構

架構所有 applet 程式都必須被定義成 Applet 類

別之子類別 (extends Applet)程式開頭必須加入“ import java.applet.*;” Applet 之輸出需使用到視窗,所以程式需

加入“ import java.awt.*;”

Page 6: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.2 Applet 程式架構 – 範例

import java.applet.*;import java.awt.*;/* <applet code="AppletSkeleton" width=300 height=200> </applet>*/public class AppletSkeleton extends Applet { public void init() {} // 起始化 , applet 之之行進入點 public void start() {} // 完成初始化後執行此程式 public void stop() {} // 停止 applet 之執行 public void destroy() {} // 移除 applet 之執行權 public void paint(Graphics g) {} // 視窗畫面更新 }

Page 7: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.3 Applet 之生命週期

init() start() paint()

stop() destroy()

初始化 執行畫面更新 停止 移除

Page 8: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.3 Applet 之生命週期

執行過程– init() 方法 : 只被執行一次– start() 方法 : 可被執行多次,每當 applet 被

stop 後再次返回包含該 applet 程式之網頁時,start 都會被執行。  

– paint() 方法 : 在 init() 及 start() 之後接著執行,每當視窗內容需要更新時,即執行此方法一次。此方法內可放置各種更新視窗之指令。

Page 9: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.3 Applet 之生命週期

stop() 方法 : 當瀏纜器離開包含 applet 程式之網頁,或該網頁被縮至最小時,即執行此方法一次。

destroy() 方法 : 關閉瀏覽器或永久移除 applet程式時,此方法即被執行一次,執行此方法前會先執行 stop() 方法。

Page 10: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.3 Applet 之生命週期

改寫執行方法– 一般而言 init() 及 paint() 方法需要加以改寫,

其它方法則視需要而定。– 與 paint() 方法有關的另外二個方法 : repaint

() 和 update() ,他們的關係是 repaint() 會呼叫 update() ,而 update() 會在清除視窗後呼叫 paint() 。

Page 11: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.4 Applet 之執行方式

可使用 IE, Netscape 或 appletviewer 來執行 applet 程式

事前需備妥一個內含 APPLET 標籤並指向 applet 程式檔之網頁程式,格式如下 :

<HTML> <TITLE> Applet Skeleton </TITLE> <BODY> 灰色區域為 applet 的視窗顯示區域 <P> <APPLET CODE="AppletSkeleton.class" WIDTH=250 HEIGHT=10

0> </APPLET> </BODY> </HTML>

Page 12: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.4 Applet 之執行方式應用範例

在瀏覽器上顯示“ Say Hello!” 之 Applet 程式碼import java.applet.*;import java.awt.*;/* <applet code="AppletSkeleton" width=300 height=200> </applet>*/public class SayHello extends Applet {private String msg; public void init() { msg="Say Hello!"; }

public void paint(Graphics g) { g.drawString(msg, 10, 30); } }

Page 13: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.4 Applet 之執行方式應用範例

網頁程式<HTML><TITLE> Load applet SayHello </TITLE><BODY>顯示歡迎詞 <br>灰色區域為 applet 的視窗顯示區域<P><APPLET CODE="SayHello.class" WIDTH=250 HEIGHT=100></APPLET></BODY></HTML>

Page 14: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.4 Applet 之執行方式應用範例

網頁程式之 APPLET 標籤也可改用 OBJECT 標籤,格式如下 :

<HTML><TITLE> Load applet SayHello </TITLE><BODY> 顯示歡迎詞 <br> 用 OBJECT 標籤來載入 applet<P><OBJECT CODETYPE="application/java" CLASSID="JAVA:SayHello.class" WIDTH=250 HEIGHT=100></BODY></HTML>

Page 15: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.5 Applet 之標籤定義語法

語法 ( 中括弧之語法為選用部分 )<APPLET

CODE=appletFile WIDTH= displayWidthInPixels

HEIGHT= displayWidthInPixels>

[CODEBASE=codebaseURL]

[ALT=alternateText]

[NAME=appletInstanceName]

[ALIGN=alignment]

Page 16: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.5 Applet 之標籤定義語法

[VSPACE=VspaceInPiexels]

[HSPACE=HspaceInPiexels]

[ARCHIVE=archiveFileNameList]

[PARM NAME=oarameterName_1 VALUE=parameterValue]

……………

[PARM NAME=oarameterName_n VALUE=parameterValue]

[Description displayed in the absence of Java support]

</APPLET>

Page 17: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.5 Applet 之標籤定義語法屬性意義

屬性 意 義

CODEBASE 指定存放 applet 程式碼之 URL

CODE applet 程式檔案名稱

WIDTH 輸出視窗寬度

HEIGHT 輸出視窗高度

ALT 當 Browser無法執行 applet 程式時所需顯始之文字

Page 18: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.5 Applet 之標籤定義語法屬性意義

屬性 意 義NAME 設定 applet 之名稱,透過名稱 applet 之間可

相互引用ALIGN 網頁對齊方式,合法之設定值有 LEFT, RIG

HT, TOP, BOTTOM, MIDDLE, BASELINE, TEXTTOP,ABSMIDDLE, ABSBOTTOM

VSPACE 輸出視窗上下之預留空白間格

HSPACE 輸出視窗左右之預留空白間格

ARCHIVE 指定一個或多個 applet 會用到之壓縮檔名稱

Page 19: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.6 網頁參數傳遞

可在網頁程式設定參數,然後傳給 applet 應用程式

設定指令 : PARM NAME=parameterName_1

VALUE=parameterValue]

apple 程式讀取參數之方法 : getParameter()getParameter() 方法讀取之資料型態一定是字串,若為數值資料則需轉型

字串之顯示方法 : drawString()

Page 20: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.6 網頁參數傳遞範例程式

import java.applet.*;import java.awt.*;public class SayHello2 extends A

pplet {private String WelcomeMsg; private String fontName; private int fontSize; public void init() {String param; param = getParameter("message");

if (param == null) WelcomeMsg = "No Welcome Message!"; else WelcomeMsg = param; param = getParameter("fontName"); if (param == null) fontName = "Not Found"; else fontName = param;

Page 21: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.6 網頁參數傳遞範例程式

param = getParameter("fontSize");

if (param == null) fontSize = 0;

else try { fontSize = Integer.pars

eInt(param); } catch (NumberFormatExce

ption e) {fontSize = -1;} }

public void paint(Graphics g) { g.drawString("Message: " + WelcomeMsg, 10, 30); g.drawString("Font Name: " + fontName, 10, 45); g.drawString("Font Size: " + fontSize, 10, 60); } }

Page 22: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.6 網頁參數傳遞範例程式

網頁程式<HTML><TITLE> Load applet SayHello2 </TITLE><BODY>參數傳遞 <br>灰色區域為 applet 的視窗顯示區域<P><APPLET CODE="SayHello2.class" WIDTH=250 HEIGHT=100><PARAM NAME="message" VALUE="歡迎參用本書範例 !"><PARAM NAME="fontName" VALUE="Arial"><PARAM NAME="fontSize" VALUE=15></APPLET></BODY></HTML>

Page 23: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.7 將 Application 改寫為 Applet

確定在程式前端載入 java.applet 及 java.awt兩個package

將 application 的 public 類別改成 applet 之子類別將 application 的建構子改成 init() 方法, 在 init()

方法內可用 getParameter() 方法讀取網頁參數改寫 application 內的 main() 方法為 start() 方法建立 paint() 方法建立 stop() 方法建立可載入 applet 程式之網頁程式

Page 24: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.8 Applet 類別及查用方法

如果要在 applet 中使用 swing 的視窗元件,就須把類別 applet 改成 iapplet 類別

Swing 為管理視窗之 Java PackageApplet 類別與其他類別之關係如次頁之圖示

Page 25: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.8 Applet 類別及查用方法類別關係圖

Object

Component

Container

Window

Frame

JFrame

Panel

Applet

JApplet

Page 26: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

1.8 Applet 類別及查用方法

方 法 意 義

void setBackground(Color newBackgroundColor) 設定視窗背景顏色void setForeground(Color newForegroundColor) 設定視窗前景顏色Color getBackground () 讀取窗背景顏色Color getForeground () 讀取窗前景顏色URL getDocumentBase () 取得網頁之 URL

URL getCodeBase() 取得 applet 程式之 URL

void showStatus(String message) 在瀏覽器狀態列顯示信息AppletContext getAppletContext() 取得代表 applet 執行環境

之物件

Page 27: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2 Applet 進階程式設計

2.1 Graphics 繪圖物件2.2 多媒體應用2.3 檔案的存取2.4 Applet 視窗更新2.5 事件處理簡介

Page 28: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.1 Graphics 繪圖物件

Applet 程式都有一個 paint() 方法,該方法也都內含一個 Graphics型態之參數

Paint() 方法使用圖形介面來輸出信息Graphics 類別包含次頁列舉之常用方法

Page 29: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.1 Graphics 繪圖物件

方 法 意 義drawString(String s, int x, int y) 在 (x,y)座標繪出字串 s

drawLInr(int x1, int y1, int x2, int y2) 從 (x1,y1) 到 (x2,y2繪製寬度為 1 個圖素之直線

drawRect(int x, int y, int w, int h) 在 (x,y)座標繪製空心矩形寬 w 高 h

fillRect(int x, int y, int w, int h) 在 (x,y)座標繪製實心矩形寬 w 高 h

drawRoundRect(int x, int y, int w, int aw, int ah)

在 (x,y)座標繪製空心圓角矩形寬 w 高h ,圓弧角由 aw,ah 指定

fillRoundRect(int x, int y, int w, int h , int aw, int ah)

在 (x,y)座標繪製實心圓角矩形寬 w 高h ,圓弧角由 aw,ah 指定

drawPOlygon(int[] xArray, int [] yArray, int numberofPoints)

繪製封閉式空心多邊型,座標由 xArray, yArray決定

Page 30: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

方 法 意 義fill Polygon(int[] xArray, int [] yArray, int numberofPoints)

繪製封閉式實心多邊型,座標由 xArray, yArray決定

drawOval(int topleft_x, int topleft_y , int w, int h)

繪製左上角為 topleft_x, topleft_y, 寬 w 高 h 之空心橢圓

fillOval(int topleft_x, int topleft_y , int w, int h)

繪製左上角為 topleft_x, topleft_y, 寬 w 高 h 之實心橢圓

draw3DRect(int x, int y, int width, int height, boolean raised)

在 (x,y)座標繪製立體空心矩形寬 w 高h

fill3DRect(int x, int y, int width, int height, boolean raised)

在 (x,y)座標繪製立體實心矩形寬 w 高h

setColor(Color newForegroundColor) 設定前景色為 newForegroundColor

setFont(Font newFont) 設定字型為 newFont

clearRect(int x, int y, int w, int h) 在 (x,y)座標以 applet背景色繪製實心矩形寬 w 高 h

Page 31: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

import java.applet.*;import java.awt.*;import java.net.URL;public class Drawings extends Applet { public void init() { setBackground(Color.white); } public void paint(Graphics g) { g.drawLine(10, 5, 220, 5);g.drawRect(10, 15, 40, 40);g.drawRoundRect(60, 15, 40, 40, 12, 12);g.drawOval(110, 15, 60, 40);g.draw3DRect(180, 15, 40, 40, true);

繪圖物件範例程式

Page 32: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

g.setColor(Color.blue); g.fillRect(10, 65, 40, 40);

g.setColor(Color.yellow); g.fillRoundRect(60, 65, 40, 40, 12, 12); g.setColor(Color.gray); g.fillOval(110, 65, 60, 40); g.setColor(Color.red); g.fill3DRect(180, 65, 40, 40, true); g.setColor(Color.black); g.setFont(new Font("Dialog", Font.BOLD, 12)); g.drawString("Diaglog", 10, 130); g.setFont(new Font("TimesRoman", Font.PLAIN, 16)); g.drawString("TimesRoman", 10, 150); g.drawLine(10, 160, 220, 160); } }

Page 33: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.2 多媒體應用顯示影像

讀取影像圖檔之方法– getImage(java.net.URL url) (url已包含圖檔名稱 )

– getImage(java.net.URL url, String name)

輸出影像圖檔之方法– drawImage(Image image, int topleft_x, int topleft_y, t

his): 依原圖大小顯示影像– drawImage(Image image, int topleft_x, int topleft_y, i

nt width, int height,this): 依 width 和 height 指定之大小顯示影像 ( 類似依比例大小 )

Page 34: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

使用 play((java.net.URL url, String name) 方法播放

EX: play(getCodeBase(), “prelude.au”);若只播放一次,則將 play() 置於 init() 方法內目前支援之聲音檔格式有 AIFF, AU, WAV, T

YPE 0 MIDI, TYPE 1 MIDI 及 RMF

2.2 多媒體應用播放音樂

Page 35: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.3 檔案的存取

首先以 InputStream建立一個可以和網路資源連結之輸入通道

使用 ReadResource.class.getResourceAsStream()方法連結檔案

接著在將該輸入通道格式以 BufferReader轉換為具緩衝區之輸入通道

範例 : private InputStream in; private BufferedReader fileReader; in = ReadResource.class.getResourceAsStream("readme.tx

t"); fileReader = new BufferedReader(new InputStreamReader(in));

Page 36: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.3 檔案的存取

讀取檔案資料 while ((line = fileReader.readLine()) != null)顯示資料 g.drawString(line, xpos, vpos); //vpos為目前游標列位置

Page 37: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.4 Applet 視窗更新

方 法 意 義void repaint() 重繪整個 applet 視窗內

容void repaint(int topleft_x, int topleft_y,

int width, int height)

在左上角 (x,y)座標開始繪製寬 w 高 h 之視窗內容

void repaint(long maxDelay) 在 maxDElay 指定時間內 ( 以 millisecond 為單位 )引用 update() 方法更新視窗

void repaint(int topleft_x, int topleft_y,

int width, int height)

在 maxDElay 指定時間內引用 update() 方法更新指定範圍之視窗

Page 38: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

2.5 事件處理 (Event-handling)

Java提供一個 Event 類別來記錄事件發生時,與該世間相關的資訊

Java 事前已定義了事件處理嘗試之名稱,程式設計人員必須遵照個類事件名稱來設計程式

常見的事件類別如次頁說明

Page 39: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

事件類別

滑鼠 boolean mouseDown(Event e, int x, int y)

boolean mouseDrag(Event e, int x, int y)

boolean mouseEnter(Event e, int x, int y)

boolean mouseExit(Event e, int x, int y)

boolean mouseMove(Event e, int x, int y)

boolean mouseUp(Event e, int x, int y)

鍵盤 boolean keyDown(Event e, int key)

boolean keyUp(Event e, int key)

Page 40: 網路程式設計 1.Applet: 本地端應用程式 2.Applet 進階應用 3.Servlet: 伺服端應用程式 4.Servlet 進階應用 5.E-mail 收發 6. 下載檔案 7. 顯示 HTML 原始程式碼.

Event 類別之其他鍵盤按鍵值常數

Event.F1Event.F2Event.F3Event.F4Event.F5Event.F6Event.F7Event.F8Event.F9Event.F10Event.F11Event.F12

Event.PGDNEvent.PGUPEvent.LEFTEvent.RIGHTEvent.UPEvent.DOWNEvent.HOMEEvent.ENDEvent.ESCAPEEvent.ENTEREvent.DELETEEvent.INSERT