Tải bản đầy đủ (.ppt) (29 trang)

Bài giảng - giáo án: Bài giảng Java Chương 4 applet

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (845.23 KB, 29 trang )

LẬP TRÌNH JAVA NC
Chương 04: Applet
Bộ môn: Lập trình máy tính
Nội dung chương 04

Applet:

khái niệm

các phương thức

nhúng applet vào trang web

xem applet: bằng trình duyệt, bằng appletviewer

truyền tham số cho applet

làm cho applet chạy như 1 ứng dụng

Hi n th nhể ị ả

Th c hi n file âm thanhự ệ
Applets

M t ộ applet là m t ộ Panel cho phép t ng tác ươ
v i m t ch ng trình Java.ớ ộ ươ

M t applet th ng đ c nhúng vào trong m t ộ ườ ượ ộ
trang Web và có th ch y t m t trình duy t.ể ạ ừ ộ ệ

B n c n đo n mã HTML đ c bi t trong trang ạ ầ ạ ặ ệ


Web đ "nói" cho trình duy t v applet.ể ệ ề

Vì lý do b o m t, các applet ch y trong 1 ả ậ ạ
sandbox: chúng không có quy n truy nh p đ n ề ậ ế
h th ng file trên các máy client.ệ ố
Applet Support

H u h t các trình duy t ngày nay có h tr ầ ế ệ ỗ ợ
Java 1.4 n u chúng có ế plugin thích h p.ợ

Internet Explorer 5.5 đã đ c c p nh t, ượ ậ ậ
nh ng Netscape thì ch a.ư ư

S h tr t t nh t không ph i là trình ự ỗ ợ ố ấ ả
duy t mà là ch ng trình đ c l p ệ ươ ộ ậ
appletviewer

Nói chung b n nên c g ng vi t các applet ạ ố ắ ế
có th ch y v i m i trình duy t.ể ạ ớ ọ ệ
Một applet là gì

B n vi t 1 applet b ng cách m r ng ạ ế ằ ở ộ
l p ớ Applet

Applet ch là 1 l p gi ng các l p khác, ỉ ớ ố ớ
n u mu n b n có th s d ng chúng ế ố ạ ể ử ụ
trong các ch ng trình.ươ

Khi b n vi t 1 applet, b n ch đang vi t ạ ế ạ ỉ ế
m t ph n c a ch ng trình.ộ ầ ủ ươ


Trình duy t cung c p ệ ấ main method
Phả hệ của Applet
java.lang.Object
|
+ java.awt.Component
|
+ java.awt.Container
|
+ java.awt.Panel
|
+ java.applet.Applet
Applet đơn giản nhất có thể
TrivialApplet.java
import java.applet.Applet;
public class TrivialApplet extends Applet { }
TrivialApplet.html
<applet>
code="TrivialApplet.class”
width=150 height=100>
</applet>
Applet có ý nghĩa đơn giản nhất
import java.awt.*;
import java.applet.Applet;
public class HelloWorld extends Applet {
public void paint( Graphics g ) {
g.drawString( "Hello World!", 30, 30 );
}
}
Các phương thức Applet

public void init ()
public void start ()
public void stop ()
public void destroy ()
public void paint (Graphics)
Also:
public void repaint()
public void update (Graphics)
public void showStatus(String)
public String getParameter(String)
Tại sao một applet chạy được

B n vi t 1 applet b ng cách m r ng l p ạ ế ằ ở ộ ớ Applet.

Applet xác đ nh các ph ng th c ị ươ ứ init( ), start( ),
stop( ), paint(Graphics), destroy( )

Các ph ng th c trên không th c hi n vi c gì ươ ứ ự ệ ệ
c . Chúng là các ả stub (g c).ố

B n khi n applet làm gì đó b ng cách ch ng các ạ ế ằ ồ
ph ng th c trên.ươ ứ
public void init ( )

Đây là ph ng th c đ u tiên đ th c hi n.ươ ứ ầ ể ự ệ

Nó là n i lý t ng đ kh i t o các bi n.ơ ưở ể ở ạ ế

Nó là n i t t nh t đ xác đ nh các thành ơ ố ấ ể ị
ph n GUI (buttons, text fields, scrollbars, ầ

etc.), s p đ t và thêm các listener vào ắ ặ
chúng.

H u h t các applet b n vi t s có m t ầ ế ạ ế ẽ ộ
ph ng th c ươ ứ init( ).
public void start ( )

Không ph i luôn c n đ n.ả ầ ế

Đ c g i sau ượ ọ init( )

Đ c g i khi trang đ c t i ho c kh i đ ng l i.ượ ọ ượ ả ặ ở ộ ạ

Th ng đ c s d ng chung v i ườ ượ ử ụ ớ stop( )

start() và stop( ) th ng đ c s d ng khi Applet ườ ượ ử ụ
đang tính toán m t nhi u th i gian và b n không ấ ề ờ ạ
mu n ti p t c đ còn chuy n đ n trang khác.ố ế ụ ể ể ế
public void stop( )

Không ph i luôn c n đ n.ả ầ ế

Đ c g i khi trình duy t b l i trang ượ ọ ệ ỏ ạ
web

Đ c g i ngay tr c ượ ọ ướ destroy( )

Dùng stop( ) n u applet đang tính toán ế
n ng nh c mà b n không mu n ti p t c, ặ ọ ạ ố ế ụ
đ trình duy t đ n trang khác.ể ệ ế


Th ng đ c s d ng chung v i ườ ượ ử ụ ớ start()
public void destroy( )

Hi m khi c n đ nế ầ ế

Đ c g i sau ượ ọ stop( )

S d ng đ gi i phóng các tài nguyên ử ụ ể ả
h th ng m t cách rõ ràng.ệ ố ộ

Các tài nguyên h th ng th ng đ c ệ ố ườ ượ
gi i phóng m t cách t đ ng.ả ộ ự ộ
Trình tự các phương thức được gọi

init và destroy ch đ c g i ỉ ượ ọ
đúng 1 l n.ầ

start và stop đ c g i m i khi ượ ọ ỗ
trình duy t đ a ra và r i kh i ệ ư ờ ỏ
trang web.

do some work là đo n mã ạ
đ c g i b i các ượ ọ ở listener

paint đ c g i khi applet c n ượ ọ ầ
đ c v l i.ượ ẽ ạ
init()
start()
stop()

destroy()
do some work
Các phương thức Applet hữu dụng khác

System.out.println(String s)

Chỉ làm việc trong appletviewer, không trong
các trình duyệt.

Tự động mở một output window.

showStatus(String) hi n th chu i String ể ị ỗ
trong dòng tr ng thái c a applet.ạ ủ

Mỗi lần gọi ghi đè lên lời gọi trước đó.

Bạn phải cho thời gian để đọc dòng trạng thái!
Applets are not magic!

B t kỳ cái gì b n có th th c hi n trong 1 applet, ấ ạ ể ự ệ
b n đ u có th th c hi n trong 1 ng d ng.ạ ề ể ự ệ ứ ụ

B n có th th c hi n m t s vi c trong 1 ng ạ ể ự ệ ộ ố ệ ứ
d ng, nh ng không th th c hi n đ c trong ụ ư ể ự ệ ượ
1applet.

N u b n mu n truy nh p các file t 1applet, nó ế ạ ố ậ ừ
ph i là 1 “trusted” applet.ả

Các trusted applet không n m trong ph m vi c a ằ ạ ủ

khóa h c này.ọ
Cấu trúc của một trang HTML
HTML
TITLE
BODYHEAD
(content)

H u h t các ầ ế
HTML tag là
các container.

M t container ộ
t ừ <tag> đ n ế
</tag>
HTML
<html>
<head>
<title> Hi World Applet </title>
</head>
<body>
<applet code="HiWorld.class”
width=300 height=200>
<param name="arraysize" value="10">
</applet>
</body>
</html>
Xem Applet bằng appletviewer

B n có th test hay view các applet ạ ể
trong c a s DOS prompt b ng cách ử ổ ằ

g i ti n ích appletviewerọ ệ
Xem Applet từ trình duyệt Web

B n cũng có th test hay view các ạ ể
applet trong m t trình duy t Webộ ệ
Để truyền tham số cho applet, tham số phải được khai
báo bằng thẻ <param> (không có end tag) đặt trong thẻ
<applet>
<param name=parametername value=stringvalue>
Vd:
<applet>

<param name = Message value = "Welcome to Java">
<param name = X value = 20>
<param name = Y value = 30>
</applet>
Truyền String cho Applet
Làm cho Applet chạy như 1 ứng dụng

Nói chung, 1 applet có th đ c convert thành 1 ng ể ượ ứ
d ng mà không m t ch c năng.ụ ấ ứ

M t ng d ng đ c convert thành 1 applet ch c n nó ộ ứ ụ ượ ỉ ầ
không vi ph m s gi i h n b o m t áp đ t cho applet.ạ ự ớ ạ ả ậ ặ

B n có th th c thi ph ng th c main trong 1 applet ạ ể ự ươ ứ
đ làm cho nó có th ch y nh 1 ng d ng: ể ể ạ ư ứ ụ

Khi chạy chương trình như 1 applet, phương thức main bị bỏ
qua.


Khi chạy chương trình như 1 ứng dụng, phương thức main được
gọi.
Làm cho Applet chạy như 1 ứng dụng
public static void main(String[] args) {
JFrame frame = new JFrame("Running a
program as applet and frame");
TestApplet applet = new TestApplet();
frame.getContentPane().add(applet,
BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(300,300);
frame.setVisible(true);
}
Hiển thị ảnh

Bạn đã học cách sử dụng lớp ImageIcon để tạo
biểu tượng từ 1 file ảnh và dùng phương thức
setIcon hoặc constructor để đặt biểu tượng trong 1
thành phần GUI.
ImageIcon imgIcon = new ImageIcon(path);

Biểu tượng ảnh đó hiển thị 1 ảnh kích thước cố định.
Để hiển thị ảnh trong 1 kích thước thay đổi, sử dụng
lớp java.awt.Image
Image img = imgIcon.getImage();

×