Giáo trình lập trình Java Chương 6: APPLETS

Ngày đăng 10/06/2023
75 Lượt xem

 

Sau khi học xong chương này, bạn có thể nắm được các nội dung sau:

  • Hiểu được các Applet của Java
  • Phân biệt applet  và các ứng dụng application
  • Tìm hiểu chu trình sống cuả một applet
  • Tạo các applet
  • Hiển thị các hình ảnh sử dụng applet
  • Truyền tham số cho applet
  • Tìm hiểu ứng dụng của applet trong GUI

 

6.1 Java Applet

Applet là một chương trình Java có thể chạy trong trình duyệt web. Tất cả các applet đều là các lớp con của lớp ‘Applet’.

Lớp Applet thuộc package ‘java.applet’. Lớp Applet bao gồm nhiều phương  thức để điều khiển quá trình thực thi của applet. Để tạo applet, bạn cần import hai gói sau:

  • java.applet
  • java.awt

 

6.2 Cấu trúc của một Applet

 

Một Applet định nghĩa cấu trúc của nó từ 4 sự kiện xảy ra trong suốt quá trình thực thi. Đối với mỗi sự kiện, một phương thức được gọi một cách tự động. Các phương thức này được minh hoạ trong bảng 6.1

Điều quan trọng là không phải lúc nào applet cũng bắt đầu từ ban đầu. Mà nó bắt đầu từ vị trí tiếp theo của quá trình thực thi trước đó.

Ngoài những phương thức cơ bản này, còn có những phương thức ‘paint()’ và ‘repaint()’.  Phương thức paint() dùng để hiển thị một đường thẳng (line), text, hoặc một hình ảnh trên màn hình. Đối số của phương thức này là đối tượng của lớp Graphics. Lớp này thuộc gói java.awt. Câu lệnh sau được dùng để import lớp Graphics:

import java.awt.Graphics;

 

Phương thức

Chức năng

init()

Được gọi trong quá trình khởi tạo applet. Trong quá trình khởi tạo, nó sẽ tạo đối tượng để cung cấp cho applet. Phương thức này được dùng để tải các hình ảnh đồ hoạ, khởi tạo các biến và tạo các đối tượng.

start()

Được gọi gọi khi một applet bắt đầu thực thi.Một khi quá trình khởi tạo hoàn tất, thì applet được khởi động. Phương thức này được dùng để khởi động lại applet sau khi nó đã ngừng trước đó

stop()

Được gọi khi ngừng thực thi một applet. Một applet bị ngừng  trước khi nó bị huỷ.

destroy()

Được dùng để huỷ một applet. Khi một applet bị huỷ, thì bộ nhớ, thời gian thực thi của vi xử lý, không gian đĩa được trả về cho hệ thống.

Bảng 6.1: Các phương thức của một applet

 

Phương thức ‘repaint()’ được dùng khi cửa sổ cần cập nhật lại. Phương thức này chỉ cần một thông số. Tham số này là đối tượng của lớp Graphics.

 

Applet sử dụng phương thức ‘showStatus()’ để hiển thị thông tin trên thanh trạng thái. Phương thức có tham số thuộc kiểu dữ liệu String. Để lấy các thông tin của applet, user có thể overide phương thức ‘getAppletInfo()’ của lớp Applet. Phương thức này trả về 1 đối tượng kiểu String.

 

Các phương thức của applet init(), start(), stop(), destroy(), và paint() được thừa kế từ một applet. Nhưng mặc định những phương thức này không thực thi một thao tác nào cả.

Đây là ví dụ đơn giản của applet. Câu lệnh sau tạo một lớp có tên là ‘Applet1’, lớp này sẽ kế thừa tất cả các phương thức và biến của lớp ‘applet’.

 

public class Applet1 extends Applet

 

Phương thức init() và paint() thường được dùng để thực hiện một số hàm để khởi tạo và vẽ applet. Phương thức ‘g.drawstring()’ chỉ ra vị trí mà đoạn văn bản được vẽ ở đâu trên màn hình.

 

Chương trình 6.1 hiển thị một chuổi ở dòng 70 và cột 80:

 

Chương trình 6.1

 

import  java.awt.*;

import java.applet.*;

public class Applet1 extends Applet

{

          int num;

public void init()

{

num = 6;

}

public void paint (Graphics g)

{

g.drawString (“Hello to Applet. Chapter ” + num, 70, 80);

showStatus (getAppletInfo());

//Hiển thị  một chuổi được trả về từ hàm getAppletInfo() trên thanh trạng thái

}

public String getAppletInfo() //user overrides

{

return “Created by Aptech”;

}

}

 

Sử dụng cú pháp sau để dịch một Applet:

 

javac Applet1.java

 

Để thực thi một applet, ta cần tạo một file HTML. File HTML này sử dụng thẻ applet. Thẻ applet này lấy tham số đầu tiên là đường dẩn của file applet.

 

Thẻ applet có hai thuộc tính sau:

 

  • Width
  • Height

 

Để truyền tham số vào applet, sử dụng param, sau đó là thẻ value. Sau đây là ví dụ của thẻ applet:

 

<applet code=Applet1 width=300 height=200>

</applet>

 

Lúc này, ta có thể thực thi applet này bằng cách dùng trình xem applet. Đây là công cụ của JDK. Để chạy file HTML trong trình xem applet, ta gõ câu lệnh sau:

 

Appletviewer abc.html // ‘abc.html’ là tên của file HTML

 

Một tuỳ chọn khác của applet là ta thêm thẻ applet như là một dòng chú thích trong đoạn code. Lúc đó, applet được dịch, và thực thi bằng cách sử dụng lệnh sau:

 

Appletviewer Applet1.java


Chia sẻ: