Lập trình applet

Một phần của tài liệu Lap Trinh huong doi tuong JAVA (Trang 89 - 92)

 Lớp java.applet.Applet cung cấp mọi chức năng đã được cài đặt trước phục vụ cho việc thực thi của các chương trình ứng dụng nhúng applet. Trong cấu trúc phân cấp ở

 hình H7-2, lớp Applet là một thành phần của AWT (Abstract Windowing Toolkit) nhưng lớp này không nằm trong gói java.awt mà nằm ở gói java.applet. Lớp Applet cung cấp các chức năng sau:

 Các thành phần GUI (Graphics User Interface) và các bộ chứa (Container) được nhúng vào một applet để tạo ra các giao diện đồ họa

cho ứng dụng đó.

 Các thao tác thực hiện của applet được viết đè trong hàm paint().

 Để chạy được các chương trình applet thì các thông tin về các tệp chứa các lớp đối tượng đã được dịch của applet đó phải được đưa vào tệp HTML.

Phần tử APPLET của HTML

Phần tử APPLET trong HTML cung cấp các thông tin cho Web Browser để xác định khung cơ sở và thực hiện ứng dụng trên trang Web. Trang HTML có thể chứa các thông tin về applet:

<HTML> <HEAD>

<TITLE> Tên gọi (tiêu đề) của chương trình ứng dụng </TITLE> </HEAD>

<BODY>

<P> Mô tả về chức năng, nhiệm vụ của chương trình applet </P> <APPLET code = “AppletName.class”

width = w height = h > </APPLET> </BODY>

</HTML>

Dạng cú pháp tổng quát của APPLET qui định:

<APPLET CODE = ClassFile WIDTH = w HEIGHT= h [CODEBASE = URLDirectory] [ARCHIVE = JarFileName] [OBJECT = SerializedAppletFile] [NAME = AnotherAppletName] [ALIGN = AligmentOnPage] [HSPACE= HorizonSpace] [VSPACE= VerticalSpace]

[ALT= TextMessage]>

[<PARAM NAME = param_1 [VALUE = paramValue_1]>] [<PARAM NAME = param_2 [VALUE = paramValue_2]>] . . .

[<PARAM NAME = param_n [VALUE = paramValue_n]>] </APPLET>

Lưu ý :

 các phần tử PARAM chỉ được xuất hiện trong cặp thẻ <APPLET> -

 </APPLET>, còn các thuộc tính khác được sử dụng bên trong thẻ <APPLET>.

 Các thuộc tính của applet được chia thành hai nhóm:

 Các thuộc tính đề cập đến cách bài trí của applet (trang Web),  Các thuộc tính đề cập đến mã của applet.

 Các thuộc tính đặc tả cách bài trí chương trình applet

 WIDTH và HEIGHT Hai thuộc tính này xác định độ rộng và chiều cao của khung cho applet và được tính theo pixel. Trong Web Browser, khung của applet không thay đổi được, chỉ có Window của trang HTML là được thay đổi chứ không phải là kích thước của applet. Tuy nhiên, chương trình thông dịch appletviewer lại cho phép thay đổi kích thước của applet. Trong chương trình có thể lấy lại được kích thước của applet bằng cách gọi hàm getSize() được kế thừa từ lớpComponent. ALIGN Thuộc tính này là tùy chọn, được sử dụng để căn lề cho trang HTML. Nó có các giá trị sau:

+ LEFT, RIGHT: Các văn bản hiển thị được căn tương ứng theo lề trái, hoặc phải của một applet.

+ BOTTOM: Các văn bản hiển thị được căn tương ứng theo mép dưới (đáy) của applet. Đây là giá trị mặc định.

+ TOP: Các văn bản hiển thị được căn tương ứng theo mép trên (đỉnh) của applet.

+ MIDDLE: Các văn bản hiển thị ở giữa (trung tâm) của applet.

Ví dụ:

<APPLET code = “MyApplet.class” width = 200 height =300 align = TOP> </APPLET>

HSPACE và VSPACE

HSPACE xác định khoảng trống tính theo pixel của chiều ngang kể từ mép trái và mép phải, VSPACE xác định khoảng trống của chiều dọc kể từ mép trên và mép dưới của applet.

Ví dụ:

<APPLET code = “MyApplet.class” width = 200 height = 300 hspace = 10 vspace = 15>

</APPLET>

Các thuộc tính đặc tả mã chương trình

CODE (APPLET) thuộc tính này xác định tên của tệp chứa lớp thực hiện applet đã được dịch. Tên tệp được thông dịch theo thư mục của trang HTML hiện thời, nếu không chỉ định cụ thể bằng thuộc tính CODEBASE. Khi thuộc tính CODEBASE được chỉ định, thì tên tệp ClassName được xác định theo thư mục của CODEBASE để thông dịch. CODEBASE Thuộc tính này là tùy chọn và có thể sử dụng để xác định vị trí (thư

<APPLET codebase = “user/project”

Code= “MyApplet.class” width = 200 height = 300 hspace = 10 vspace = 15>

</APPLET>

 Tệp MyApplet.class ở thư mục ./users/project được thông dịch và thực hiện. Muốn đọc lại thư mục gốc đó thì gọi hàm getCodeBase().ARCHIVE  Tất cả các lớp và các tài nguyên cần cho một applet thực hiện có thể đặt

vào tệp JAR thông qua thuộc tính ARCHIVE.

Ví dụ:

<APPLET archive = “MyProject.jar”

code = “MyApplet.class” width = 200 height= 300 hspace = 10 vspace = 15> </APPLET>

OBJECT (chỉ sử dụng với APPLET)

 Các đối tượng trong Java có thể thực hiện tuần tự ghi và đọc thông tin thông qua thuộc tính OBJECT. Lưu ý, khi đã sử dụng thuộc tính CODE thì không được sử dụng OBJECT và ngược lại cũng thế.

Ví dụ:

ALT Thuộc tính này được sử dụng để hiển thị văn bản TextMessage khi vì một lý do nào đó mà applet không hoạt động được và ngược lại nó sẽ bị bỏ qua.

Ví dụ:

<APPLET code = “MyApplet.class” width = 200 height =300 alt = “JVM co le khong hoat dong!” >

</APPLET>

Các tham biến, các thông tin có thể cung cấp cho applet thông qua các tham biến PARAM.

[<PARAM NAME = param_i [VALUE = paramValue_i]>]

Trong đó NAME là phải chỉ định còn VALUE thì là tùy chọn. Lưu ý: các NAME và VALUE luôn là các xâu ký tự. Khi thực hiện thì applet phải kiểm tra tính hợp lệ của các tên gọi và giá trị tương ứng.

Ví dụ:

<APPLET code = “MyApplet.class” width = 200 height =300 <PARAM NAME = “background” VALUE = “DDFFBB”> <PARAM NAME = “foreground” VALUE = “880000”> </APPLET>

Ví dụ 7.1 Mô tả cách sử dụng các tham số của applet.

// Tệp AppletParam.java import java.applet.*; import java.awt.*;

public class AppletParam extends Applet{

public void init(){// Đọc hai tham biến xác định màu Color foreground = getColorParam("foreground"); Color background = getColorParam("background"); if (foreground != null) setForeground(foreground); if (background != null) setBackground(backgound); }

private Color getColorParam(String paramName){ // Đọc giá trị màu dưới dạng xâu ký tự

String paramVal = getParameter(paramName); try{ // Chuyển tham biến màu thành giá trị nguyên hệ hexa

return new Color(Integer.parseInt(paramVal, 16)); } catch (NumberFormatException e) { return null;}

}

public void paint(Graphics gf){ // Nạp chồng hàm paint() gf.translate(getInsets().left,getInsets().top); gf.drawString("Toi thich mau nay!", 50,50); }

// Cung cấp các thông tin để hiển thị trong hộp thọai public String getAppletInfor() {

return "AppletParam Version 1.0 writtten by My Lan"; }

// Cung cấp các thông tin về tham biến của applet public String[][] getParameterInfo() {return

paramInfo;}

private String[][] paramInfo = { // Tên, kiểu và mô tả tham biến

{"foreground","Hex RGB color value", "Foreground color"}, {"background","Hex RGB color value","Background color"}, };

}

Tệp HTML có thể viết đơn giản: // Tệp AppletParam.html

<applet code = "AppletParam.class" width = 300 height = 300> </applet>

Kết quả thực hiện appletviewer AppletApp.html của JDK là:

Một phần của tài liệu Lap Trinh huong doi tuong JAVA (Trang 89 - 92)

Tải bản đầy đủ (DOC)

(149 trang)
w