Sử dụng applet

Một phần của tài liệu Tài liệu LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - PGS TS TRẦN ĐÌNH QUẾ & KS NGUYỄN MẠNH HÙNG ppt (Trang 144 - 147)

Applet không thể chạy như một ứng dụng Java độc lập (nó không có hàm main), mà nó chỉ chạy được khi được nhúng trong một trang HTML (đuôi .htm, .html) và chạy bằng một trình duyệt web thông thường.

Các bước xây dựng và sử dụng một applet bao gồm:

• Biên dịch mã nguồn thành lớp .class • Nhúng mã .class của applet vào trang html.

Để nhúng một applet vào một trang html, ta dùng thẻ (tag) <Applet> như sau: <APPLET CODE = “Tên_file_applet.class”

WIDTH = “Chiều_rộng” HEIGHT = “Chiều_cao”> </APPLET>

Trong đó:

• Tên applet là tên file mã nguồn đã biên dịch thành file chạy có đuôi .class của Java. • Chiều rộng và chiều cao là kích thước của vùng trên trang html mà applet sẽđược đặt vào. Ví dụ, trong trang myHtml.htm có chứa nội dung như sau:

<HTML> <HEAD>

<TITLE> A simple applet </TITLE> </HEAD>

<BODY>

This is the output of applet:

<APPLET CODE = “SimpleApplet.class” WIDTH=200 HEIGHT=20> </APPLET>

</BODY> </HTML>

sẽ nhúng applet đã được định nghĩa trong chương trình 6.17 vào một vùng có kích thước 200*20 trong trang myHtml. Bây giờ, ta có thể kiểm nghiệm chương trình applet của mình bằng cách mở trang myHtml trên các trình duyệt thông thường.

Chương trình 6.18 cài đặt một applet có chức năng tương tự như chương trình 6.7, thực hiện các thao tác tính toán cơ bản trên hai số. Ngoại trừ việc đây là một applet, nên có thể chạy trên một trang html. Chương trình 6.18 package vidu.chuong6; import java.awt.*; import java.awt.event.*; import java.applet.*;

public class AppletDemo extends Applet implements ActionListener{ Label lbl1, lbl2, lblKq;

TextField txt1, txt2;

Button btnCong, btnTru, btnNhan, btnChia, btnThoat; public void init(){

this.setLayout(new GridLayout(6,2)); //Chế độ hiển thị 6 dòng, 2 cột lbl1 = new Label(“So thu nhat:”); // Nhãn số thứ nhất

txt1 = new TextField(); // Ô văn bản số thứ nhất this.add(txt1);

lbl2 = new Label(“So thu hai:”); // Nhãn số thứ hai this.add(lbl2);

txt2 = new TextField(); // Ô văn bản số thứ hai

this.add(txt2);

lblKq = new Label(); // Nhãn kết quả

this.add(lblKq);

this.add(new Label());

// Các nút nhấn

btnCong = new Button(“Cong”); // Nút cộng

btnCong.addActionListener(this); // Bắt sự kiện this.add(btnCong);

btnTru = new Button(“Tru”); // Nút trừ

btnTru.addActionListener(this); this.add(btnTru);

btnNhan = new Button(“Nhan”); // Nút nhân

btnNhan.addActionListener(this); this.add(btnNhan);

btnChia = new Button(“Chia”); // Nút chia

btnChia.addActionListener(this); this.add(btnChia);

btnThoat = new Button(“Thoat”); // Nút thoát btnThoat.addActionListener(this);

this.add(btnThoat); }

/* Phương thức xử lí sự kiện nút được nhấn */ public void actionPerformed(ActionEvent ae){

float x = Float.parseFloat(txt1.getText()); float y = Float.parseFloat(txt2.getText()); float kq = 0;

if(ae.getSource() == btnCong) // Cộng hai số kq = x + y;

if(ae.getSource() == btnTru) // Trừ hai số

kq = x - y;

if(ae.getSource() == btnNhan) // Nhan hai số

kq = x*y;

if(ae.getSource() == btnChia)&&(y != 0) // Chia hai số kq = x/y;

if(ae.getSource() == btnThoat) // Thoát khỏi chương trình System.exit(0);

// Thay đổi nội dung kết quả

lblKq.setText(“Ket qua la: ” + String.valueOf(kq));

repaint(); // Vẽ lại các đối tượng

} }

Khi nhúng applet này vào một trang html bất kì, ta có thể kiểm tra thấy rằng nó có chức năng tương tự nhưứng dụng 6.7.

Lưu ý, sự khác nhau giữa một application và một applet:

• Application là một ứng dụng Java độc lập, nó có thể chạy độc lập trên máy ảo Java. Trong khi đó, applet chỉ chạy được khi nhúng trong một trang html, chạy nhờ vào các trình duyệt web có hỗ trợ Java.

• Application chạy dựa vào hàm main(). Trong khi đó, applet không có hàm main().

• Để hiển thị các thông báo, application dùng System.out.println(). Trong khi đó, applet dùng phương thức drawString() của lớp Graphics.

Một phần của tài liệu Tài liệu LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - PGS TS TRẦN ĐÌNH QUẾ & KS NGUYỄN MẠNH HÙNG ppt (Trang 144 - 147)

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

(173 trang)