Java Applet là gì? Tổng quan về vòng đời của Java Applet

Java được biết đến là ngôn ngữ được sử dụng trong các ứng dụng dựa trên web như: việc phát triển trò chơi hay hệ thống quản lý quy mô lớn. Đồng thời Java cũng có khả năng tạo ra các ứng dụng chạy trong trình duyệt Web. Đặc biệt Applet là một chương trình Java nhỏ chạy trong trình duyệt web của bạn. Applet là các ứng dụng Java có toàn bộ Java API. 

Về cơ bản, Applet là một lớp con của gói java.applet.Applet, nhưng nó khác với một ứng dụng Java gốc. Nó không bao gồm một phương thức chính, cũng không giống như một ứng dụng Java. Được nhúng vào trang HTML, một applet được tải xuống máy khách ở trang HTML. Vậy cụ thể vòng đời của Java Applet được thể hiện như thế nào cùng chúng tôi tìm hiểu xem nhé!

Mục lục bài viết

Tổng quan về vòng đời của Java Applet

import java.applet.*; // Importing the two applet classes
import java.awt.*;
public class HelloApplet extends Applet //Extends Applet class
{
public void paint (Graphics g)
{
g.drawString ("Hello World", 25, 50);
}
}

tong-quan-ve-vong-doi-cua-java-applet.jpg

Tổng quan về vòng đời của Java Applet

Java Applet là gì?

Java Applet được biết đến là các đối tượng được thực hiện trên trình duyệt Web. Khi thực hiện trên các trình duyệt Web, thì Java Applet cũng tạo ra các hiệu ứng giống như một ứng dụng bình thường, tuy nhiên các thông tin cho phép Java Applet thực hiện lại được đưa từ các trang Web.

Người sử dụng dùng trình duyệt Web (browser) để xem các trang thông tin, trong đó có nhúng đối tượng Java Applet. Khi trình duyệt Web truy cập đến trang thông tin này, thì Java Applet sẽ được tải về trình duyệt Web và được thực hiện thông qua một cơ cấu được gọi là Java Virtual Machine (JVM) đã được cài sẵn trong trình duyệt.

Cách nhúng Applet vào HTML

Applet không được mở trực tiếp bằng trình duyệt. Vậy nên, nó bắt buộc phải được đưa vào trang HTML để cho trình duyệt thực thi.

<html>
<title>Hello World, My First Applet</title>
<applet code="HelloApplet.class" width=“420" height=“220">
If java is enabled in the browser, HelloWorld will be visible.
</applet>
</html>

Bắt buộc phải có thẻ Applet để chạy chương trình Applet. Chiều cao và chiều rộng đã được chỉ định. Các thuộc tính này sẽ được xác định kích thước bẳng bảng của applet. Ví dụ như khoảng không gian mà Applet sẽ bao phủ trên trang. 

Đoạn mã sẽ chỉ định đường dẫn vị trí và tên của tệp lớp applet. Tệp lớp sẽ được tạo khi mã Java được biên dịch. Trình duyệt không có quyền biên dịch tệp applet. Nó chỉ thực thi một chương trình applet đã được biên dịch. Văn bản giữa các thẻ applet xác định chức năng của applet đó. Và nó thường được sử dụng cho các mục đích phát triển. Tuy nhiên, nó bị trình duyệt bỏ qua.

Tìm hiểu vòng đời của Applet

Trên thực tế có 4 phương thức lớp java.Applet được dùng để xác định vòng đời của applet cụ thể như sau:

  • public void init (): Phương thức này được dùng để khởi tạo Applet và chỉ được gọi một lần trong vòng đời của Applet. Nó giúp khởi tạo các biến và khởi tạo các đối tượng và tải GUI của Applet. Điều này được gọi khi trang chứa Applet đã được tải
  • public void start (): Phương thức này được gọi sau phương thức init (). Và nó bắt đầu thực thi Applet. Đối với trạng thái này, Applet sẽ bắt đầu hoạt động
  • public void stop (): Đồng thời nó dừng việc thực thi Applet. Nó được gọi khi Applet dừng hoặc khi trình duyệt được thu nhỏ. Điều này làm cho Applet tạm thời không thể hoạt động. Applet cũng thường xuyên quan tâm đến trạng thái này trong vòng đời của nó và có thể quay trở lại trạng thái bắt đầu của nó
  • public void kill (): Điều này sẽ phá hủy Applet và cũng chỉ được gọi một lần khi trang trình duyệt đang hoạt động có chứa applet bị đóng
  • public void paint (): Phương thức này giúp tạo GUI của Applet như nền màu, hình vẽ và chữ viết. Nó được coi là một phương thức của gói java.awt.Graphics

Cú pháp được thể hiện cụ thể là:

import java.applet.Applet; // Importing Applet package
import java.awt.Graphics; // Importing Graphics package For GUI
class AppletLifecycle extends Applet
{
// This method loads the applet and is only called only called once in the applet life cycle
public void init()
{
}
//Applet execution starts from this method.
public void start() {
}
// This method stops or pauses the execution
public void stop() {
}
//  This method is executed  only once in the life cycle and terminates applet execution
public void destroy() {
}
// This method is used to paint the design of the applet
public void paint(Graphics g)
{
}
}

Ví dụ:

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.*; 
class MyfirstApplet extends Applet
{
String str = "";
public void init() // init method
{
str = str + "I am Init ";
}
public void start() // start method
{
str = str + "I am start : ";
}
public void stop() // stop method and holds the applet on pause state
 {
str = str + "I am stop : ";
}
public void destroy() // destroy method, destroys the applet
{
System.out.println("Applet Destroyed.");
}
public void paint(Graphics g) // GUI design of the applet
{
g.drawString(str,500,700);
}
}

Ví dụ minh họa trên đã giúp các bạn có thể nắm rõ hơn về một một vòng đời Applet đơn giản. Nó nhập lớp Applet và Graphics, đồng thời cũng là một phần rất quan trọng của mọi chương trình Applet. Lớp Graphics được sử dụng để thiết kế Applet và lớp Applet này sẽ bao gồm tất cả các phương thức quan trọng của vòng đời Applet. Ngoài ra phương thức “init” chỉ được gọi một lần khi Applet được tải. Phương thức bắt đầu được gọi mỗi khi một Applet chạy hoặc khi một Applet tiếp tục từ trạng thái của nó. Phương thức dừng sẽ được gọi khi trình duyệt của người dùng không ở trong cửa sổ đang hoạt động hoặc khi người dùng chuyển đến tab mới của trình duyệt. Hàm hủy chỉ được sử dụng một lần khi trang trình duyệt chạy Applet bị đóng hoặc trình duyệt bị đóng.

Phương thức paint được gọi sau khi thực thi phương thức start. Ngoài ra, nó cũng được gọi mỗi khi Applet cần thực hiện lại điều gì đó. Đồng thời phương thức này cũng được kế thừa từ java.awt. Lúc này chuỗi sẽ được in ra màn hình khi hàm start bắt đầu thực thi.

Ví dụ về vòng đời của Java Applet

vi-du-ve-vong-doi-cua-java-applet.jpg

Ví dụ về vòng đời của Java Applet

import java.awt.*;      //Importing the classes
import java.applet.*;
public class Sum_Demoextends Applet
{
TextField T3,T4;
public void init() // Initializing the import elements of applet
{
T3 = new TextField(11); //adding a text field
T4 = new TextField(11);
add(T3);
add(T4);
T3.setText("0");
T4.setText("0");
}
public void paint(Graphics g) // called after init method
{
int num1, num2, sum;
String str1;
g.drawString("Enter two numbers in Text Field',10,50);//message print on screen 
g.setColor(Color.yellow);
str1=T3.getText(); // Extracting the values entered in the text field
num1=Integer.parseInt(str1);
str1=T4.getText();
num2=Integer.parseInt(str1);
sum=num1+num2;
g.drawString(“The sum of two number is : "+sum,100,800);
showStatus("Two numbers Addition");
}
public boolean action(Event e, Object obj)
{
repaint(); // called every time a user enters the value that is the event occurs
return true;
}
}

Thông thường Applet trên sẽ nhận hai chuỗi nhập trong trường văn bản từ người dùng và hiển thị tổng các số do người dùng nhập. Applet trên cũng sẽ được tải trong trang HTML như sau:

<html>
<title>Sum of Two number</title>
<applet code="Demo_Sum.class " width=“300" height=“200"> Sum of two numbers</applet>
</html>

Khi đó trình duyệt tự động tạo đối tượng của lớp Applet và thực thi Applet. Điều này được thực hiện thủ công trong một ứng dụng Java ở mỗi phương thức chính của lớp.

Ưu nhược điểm của vòng đời của Java Applet

Ưu điểm của Java Applet

  • Applet trong Java được dùng để hỗ trợ hầu hết các trình duyệt Web trong nhiều năm qua
  • Cùng với một Applet có thể hoạt động được trên tất cả phiên bản của Java đã cài đặt cùng lúc, khác với những phiên bản mới nhất
  • Ngoài ra Applet cũng được lưu trữ trên các trình duyệt web để có thể tải được trang web một cách nhanh nhất
  • Hơn nữa nó cũng có thể chuyển công việc từ máy chủ qua máy khách, giúp cho việc mở rộng số lượng người dùng và khách hàng
  • Nó còn giúp người dùng thay đổi trạng thái
  • Hầu hết các lỗi trên Applet đều có thể gỡ bằng cách tạo thói quan chính trong lớp chung hoặc riêng và gọi init(), start() trên Applet, điều này sẽ có phép việc phát triển trong môi trường Java cụ thể. Cuối cùng mọi người có thể kiểm tra lại Applet trong chương trình  AppletViewer hoặc trình duyệt web để giảm thiểu hạn chế

Nhược điểm vòng đời của Java Applet

  • Applet không thể đọc và ghi file trên hệ thống của file user.
  • Ngoài ra cũng không thể giao tiếp với các site internet, mà chỉ giao tiếp với trang web có Applet.
  • Nó không thể chạy bất kỳ chương trình gì trên hệ thống của người đọc
  • Đồng thời không được tải bất kỳ chương trình lưu trữ nào trong hệ thống của user.
  • Ngoài ra các Applet có ít quyền kiểm soát nội dung trang web bên ngoài. Nên sẽ không có nhiều lợi ích trong việc cải thiện giao diện trang web.
  • Cũng bị phụ thuộc vào môi trường chạy thi hành Java.
  • Hơn nữa các trình duyệt di động trên IOS và Android không chạy được Applet Java.
  • Không có tiêu chuẩn nhất định về nội dung cho trình đọc màn hình. Điều này dễ gây hại cho khả năng truy cập của một trang web với người dùng.

Tổng kết

Chúng tôi mong rằng các bạn có thể hiểu rõ được về vòng đời của Java Applet một cách chính xác nhất. Điều này cũng có ý nghĩa trong việc học Java trở nên dễ dàng hơn nhiều. Box.edu luôn là nơi cung cấp các kiến thức cần thiết và quan trọng đến với tất cả mọi người.

5/5 - (20 bình chọn)
Xin chào các bạn! Mình là Hà Nguyên Phương Hiện đang là tác giả của Box.edu.vn website nổi tiếng chuyên review, đánh giá, giới thiệu các khóa học hay nhất hiện nay.