Applets là gì

Để xây dựng một ứng dụng applet thì trước tiên ta cần hiểu cách hoạt động của nó và cách nhúng nó lên trình duyệt 🙂

Một applet được chạy trên trình duyệt nó liên lục được thực hiện bởi một trong 4 sự kiện chính thông qua các hàm init(), start(), stop(), destroy().
init – Hàm này được gọi trong quá trình khởi tạo applet. Nó sẽ tạo đối tượng cụ thể để cung cấp cho applet. Hàm này thường dùng khi tải các hình ảnh đồ hoạ, nạp các components, khởi tạo các biến,…

start- Hàm này chắc khi đọc các bạn cũng đã hiểu nó dùng để làm gì. Khi hàm start được gọi nó sẽ thực hiện thực thi chương trình applet trên trình duyệt của bạn. Ngoài ra hàm này cũng được dùng để khởi động lại applet (cũng giống như bạn ấn nút reset trên case để khởi động lại máy tính)

stop – Hàm này ngược lại với start, nó sẽ dừng hoạt động của chương trình applet khi đang được thực thi (giống như bạn đưa máy tính sang chế độ logout)

destroy – Hàm này thực hiện đóng hẳn chương trình applet như bạn rút điện hay ấn nút shutdown trên máy tính vậy.

Ngoài các phương thức chính ở trên thì chương trình còn một số phương thức khác như repaint, paint, paintComponents,… Phương thức repaint được dùng để cập nhật lại toàn bộ hiển thị trên cửa sổ applet. Hai phương thức còn lại sẽ được dùng để vẽ các hình ảnh, màu sắc, chữ, hình học,… lên applet thông quá đối tượng Graphics.

Hình ảnh dưới đây sẽ mô tả một chu trình hoạt động của Applet và cách applet được thực hiện

Applets là gì

Chu trình sống của applet

Ta sẽ đi vào làm quen với một chương trình applet như sau:

public Demo extends Applet{
	int nume;
	
	// viết đè hàm khởi tạo
	@Override
	public void init(){
		nume = 3;
	}
	
	// Viết đè hàm paint
	@Override 
	public void paint(Graphics g){
		// in một dòng chữ lên applet tại toạ độ (100,110)
		g.drawString("Đây là chương trình applet đầu tiên, nume = " + nume, 100, 110);  
		// Hiển thị thông tin lên thanh trạng thái
		showStatus("Thông tin trạng thái ở đây");
	}
}

Bây giờ các bạn hãy chạy chương trình applet bằng cách nhấn chuột phải vào file .java chọn run as\Java applet
và đón xem thành qủa 🙂

Khi Applet được chạy nó sẽ tự động gọi tới hàm init để khởi tạo những gì có trong nó trước sau đó sẽ gọi tới hàm paint và thực hiện nội dung ở trong hàm này.
Các bạn thấy rằng đoạn code trên không có hàm main nhưng nó vẫn được thực thi. Như mình nói ở trên thì applet là một ứng dụng được chạy trên trình duyệt web nên nó khác với frame. Một ứng dụng frame được chạy khi nó có hàm main, còn applet được chạy khi nó có hàm init, paint, start, stop,… và đặc biệt nó phải được kế thừa từ đối tượng Applet. Bạn có thể thử viết hàm main vào và tạo mới đối tượng Demo bằng lệnh new Demo(); sau đó chạy thử theo thao tác sau: chọn run as\java application
chúng ta sẽ thấy không có hiện tượng gì :). Bạn hãy để ý kỹ, trong hàm main chúng ta tạo mới đối tượng demo, nhưng không gọi bất kỳ một phương thức nào của đối tượng này nên điều đó hiển nhiên nó sẽ không được thực hiện.

Các bạn đã xem được kết quả của một applet, tuy nhiên đó chỉ là cách chạy để xem trước kết quả, đồng thời cách này cũng biên dịch luôn cho ta một file .class với tên file trùng với file .java của các bạn. Thực tế thì java applet sẽ được chạy trên các trình duyệt, bạn làm như sau:

Tạo một file index.html cùng thư mục với file .class vừa được biên dịch ở trên và chèn đoạn code sau vào

Applet là một loại chương trình đặc biệt được nhúng vào trang web để tạo nội dung động. Nó chạy bên trong trình duyệt và hoạt động ở phía client.

Applet là gì?

Ngôn ngữ lập trình Java hiện nay được sử dụng khá phổ biến trên nhiều hệ điều hành khác nhau ở khắp nơi trên thế giới. Chính vì vậy, ngôn ngữ lập trình Java cũng được sử dụng để tạo ra nhiều loại ứng dụng đa dạng. 

Trong đó, Applet là những loại ứng dụng nhỏ được xây dựng bởi ngôn ngữ lập trình Java hoặc ngôn ngữ lập trình khác được biên dịch sang mã bytecode của ngôn ngữ Java. Tuy nhiên, khi đưa đến người dùng, Applet sẽ xuất hiện hoàn toàn với dạng Java bytecode.

Những phiên bản Applet đầu tiên được ra mắt vào năm 1995. Tuy nhiên, sau nhiều hoạt động điều chỉnh, các applet của Java đã được loại bỏ hoàn toàn vào 2017.

Sở hữu khả năng linh hoạt trên đa nền tảng, Applet có thể sử dụng trên nhiều hệ điều hành khác nhau như Microsoft Windows, Linux, MacOS, FreeBSD, Unix, v.v.

Lợi thế của Applet

Có rất nhiều ưu điểm của Applet:

  • Nó hoạt động ở phía máy khách nên thời gian phản hồi ít hơn.
  • An toàn
  • Nó có thể được thực thi bởi các trình duyệt chạy dưới nhiều dạng đĩa, bao gồm Linux, Windows, Mac Os, v.v.

Hạn chế của Applet

  • Cần có plugin ở trình duyệt máy khách để thực thi applet.

Hệ thống phân cấp của Applet

Applets là gì

Như được hiển thị trong sơ đồ trên, lớp Applet extends Panel. Lớp Panel extends Container (lớp con của Component).

Vòng đời của Applet trong Java

Applets là gì

Applet là một ứng dụng đặc biệt của ngôn ngữ lập trình Java có vòng đời được hình thành từ 5 sự kiện chính: init, start, stop, destroy và paint. Các sự kiện này sẽ được các trình duyệt gọi ra để thực thi và bắt đầu hoạt động:

  • Sự kiện init: Tại đây cho phép khởi tạo bất cứ điều gì cần thiết cho một applet. Sự kiện này chỉ chạy một lần trong suốt thời gian chạy ứng dụng và được trình duyệt gọi sau khi các thẻ param trong appler được xử lý. 
  • Sự kiện start: Sau khi sự kiện init được gọi, sự kiện start sẽ tự động được gọi tiếp sau init. Ví dụ, khi người dùng rời khỏi website nhưng sau đó quay lại trang web thì trình duyệt sẽ gọi phương thức start để khởi động lại applet sau khi bị dừng.
  • Sự kiện stop: khi người dùng rời khỏi trang có chứa applet, sự kiện stop sẽ được gọi tự động. Sự kiện này sẽ liên tục được gọi như một vòng lặp của vòng đời applet. Trình duyệt có thể gọi lại phương thức stop sau khi gọi sự kiện start, tức là khi người dùng quay lại trang.
  • Sự kiện destroy được gọi tự động từ trình duyệt khi trình duyệt ngừng hoạt động theo cách thông thường, tức là khi tất cả những dữ liệu thuộc về ứng dụng bị xóa hoàn toàn khỏi bộ nhớ.
  • Sự kiện paint: paint được trình duyệt gọi ngay sau khi sự kiện start. Tuy nhiên, paint cũng được gọi ra bất cứ khi nào applet cần thực hiện repaint chính nó khi hoạt động trong trình duyệt, tức là khi applet thực hiện vẽ lại đầu ra của nó.

Làm thế nào để chạy một Applet?

Có hai cách để chạy một applet:

  1. chạy Applet bằng file html.
  2. chạy Applet bằng tool appletViewer (mục đích để test).

Ví dụ về cách chạy Applet bằng file html.

Để thực thi Applet bằng file html, hãy tạo một Applet và biên dịch nó. Sau đó, tạo một file html và đặt mã Applet vào file html. Bây giờ hãy nhấp vào file html.

First.java

import java.applet.Applet; import java.awt.Graphics; public class First extends Applet{ public void paint(Graphics g){ g.drawString("welcome",150,150); } }

Code language: JavaScript (javascript)

myapplet.html

<html> <body> <applet code="First.class" width="300" height="300"> </applet> </body> </html>

Code language: HTML, XML (xml)

Ví dụ về cách chạy Applet bằng tool appletViewer.

Để thực thi Applet bằng công cụ appletviewer, hãy tạo một Applet có chứa thẻ Applet trong nhận xét và biên dịch nó. Sau đó chạy nó bằng: appletviewer First.java. Bây giờ fileHtml là không cần thiết nhưng nó chỉ dành cho mục đích thử nghiệm.

import java.applet.Applet; import java.awt.Graphics; public class First extends Applet{ public void paint(Graphics g){ g.drawString("welcome to applet",150,150); } } /* <applet code="First.class" width="300" height="300"> </applet> */

Code language: JavaScript (javascript)

Để thực thi Applet bằng công cụ appletviewer, mở terminal và chạy câu lệnh sau:

c:\>javac First.java c:\>appletviewer First.java

Code language: CSS (css)

Tổng kết

Trên đây là các khái niệm cơ bản về Applet trong Java và ví dụ về Applet. Mong rằng sẽ giúp ích cho bạn. Chúc bạn học tốt.