Applet

Chia sẻ bởi Nguyễn Việt Vương | Ngày 29/04/2019 | 115

Chia sẻ tài liệu: Applet thuộc Bài giảng khác

Nội dung tài liệu:

Chương 8- Applet
Mục tiêu
Sau chương này bạn có thể
Định nghĩa được applet là gì.
Phân biệt ứng dụng Java và applet Java.
Mô tả được chu kỳ sống của 1 applet.
Giải thích được tham số truyền cho applet.
Giải thích được làm sao multimedia file có thể được thể hiện trên applet.
Nội dung
8.1- Cơ bản về applet.
8.2- Chu kỳ sống của một applet.
8.3- Tính bảo mật của applet
8.4- Các bước tạo applet.
8.5- Chạy applet
8.6- Applet trong Frame
8.7- Applet có hàm main
8.8- Truyền tham số cho applet
8.9- Multimedia với applet.
8.10- Cách chuyển 1 ứng dụng thành applet
8.11- Tóm tắt
8.1- Cơ bản về applet.
Applet là một chương trình Java nhỏ được nhúng vào trang HTML và được thực thi nếu như Browser có hỗ trợ Java Applet (IE từ 3.0 trở lên, Netscape Navigator từ 3.0 trở lên). Applet trở thành 1 thành phần của trang HTML.
Nhờ các applet, trang Web có thêm được sức sống vì applet có thể thể hiện multimedia, tạo được sự tương tác với user như hỏi-trả lời (còn có thể tạo tương tác trong trang Web với JavaScript, VBScript, những ngôn ngữ khác với Java).
Cơ bản về applet...
Để có thể chạy applet, trình duyệt của user phải bật chức năng Java Plug-in: (mở Internet Explorer, vào Menu Tools/ Internet Options – chỉ có sau khi bạn cài đặt JRE)
Để sử dụng gói Applet của Java:
import java.applet.*; // để sử dụng lớp Applet
import javax.swing.* ; // để sử dụng lớp JApplet
- Để tạo 1 applet, ta đi xây dựng 1 class con của lớp Applet hoặc lớp JApplet. Người ta thường đặt tên lớp applet này trùng tên với tên file.html. Điều này không bắt buộc nhưng thường dùng vì để tạo ra khả năng dễ bảo trì trang html cũng như apple
Cơ bản về applet ...
Cơ bản về applet ...
Cơ bản về applet ...
8.2- Chu kỳ sống của một applet
8.3- Tính bảo mật của applet
Applet được thiết kế để được nạp từ remote site và được thực thi cục bộ trên client site. Do vậy, tính bảo mật là yêu cầu sống còn của applet.
Nếu client site browser có bật chức năng hỗ trợ Java, browser sẽ download mã applet và thực thi ngay mã applet này. User không có cơ hội để xác nhận có muốn chạy applet hay không cũng như ngưng applet khi applet đang thực thi.
Vì các lý do trên, applet được tải từ Web và thực thi trong Browser của client với 1 môi trường bảo vệ gọi là sandbox có những giới hạn để có được tính bảo mật của client system.
Giới hạn của applet
Aplet không được phép gọi 1 executable file nào ở hệ thống client.
Applet không được phép giao tiếp với bất kỳ một máy chủ (host) nào khác ngoại trừ server mà applet đã được download.
Applet không được thao tác đọc ghi lên hệ thống file của client.
Applet không được tìm kiếm thông tin ở client system ngoại trừ : Java version, OS version, các ký tự được dùng để phân cách file, phân cách dòng , phân cách đường dẫn. Applet không được phép truy tìm thông tin như username, email address, …
Mọi cửa sổ được sinh ra bởi applet (popped by applet) luôn mang 1 thông điệp cảnh báo.
Trình Applet Security Manager sẽ xuất (throws) một SecurityException bất cứ khi nào applet v phạm caùc quy tắc về bảo mật.
Applet và application
Applet là 1 ứng dụng nhỏ được xây dựng nhằm mục đích phân phối trên Web và được thực thi bên trong (nhúng vào) trình duyệt trong khi application được thực thi độc lập (standalone application).
Một applet phải được xây dựng 1 lớp con của lớp java.applet.Applet còn application thì không bị ràng buộc này.
Application được thực thi thông qua Java Interpreter (máy ảo Java, trình java.exe) trong khi applet phải được thực thi thông qua Browser có hỗ trợ Java hay trình appletviewer của môi trường Java.
Applet và Application
Thực thi Application bắt đầu từ main(…) trong khi applet bắt đầu thực thi bằng init().
Phương thức draw_ dùng để xuất dữ liệu trong applet trong khi Application dùng System.out.print để xuất dữ liệu.
Applet phải bắt đầu bằng ít nhất 1 public class nếu không có thì sẽ có lỗi lúc biên dịch. Không bắt buộc phải có hàm main(…) trong applet. Nếu applet có hàm main(…) thì có thể chạy với 2 chế độ : (1) Chạy trong Browser, (2) Chạy dạng application. Còn application luôn phải có hàm main(…).
8.4- Các bước tạo applet
Tạo applet với JCreator
Tự tạo applet
8.4.1- Tạo applet với JCreator
Menu File/New/Project
Chọn Basic Java Applet
Tạo applet với JCreator
Đặt tên Project
Chọn thư mục chứa
Kích
Tạo applet với JCreator
Kích 2, code phat sinh tự động
Thẻ Applet và thuộc tính của thẻ này
Có thể sửa nội dung của trang HTML
Tạo applet với JCreator
Kích để Compile
Tạo applet với JCreator
8.4.2- Tạo applet thủ công
Thiết kế : Sẽ tạo cấu trúc
thư mục và tập tin





code = "AppletDemo_2.class"
width = "200“ height = "200“ >




import java.applet.*;
import java.awt.*;
public class AppletDemo_2 extends Applet
{ public void init()
{ }
public void paint(Graphics g)
{ g.drawString
("Welcome From AppletDemo_2!", 50, 60 );
}
}
Chú ý:
Tập tin .htm và tập tin .class
để trong cùng thư mục
Cấu trúc 1 JCreator project
8.5- Chạy applet
Chạy applet trong web page
Chạy applet bằng appletviewer
Chạy Applet trong môi trường JCreator
Chạy applet trong Browser
Kích đôi
Cú pháp appletview
Chạy applet với JCreator
8.6- Applet trong Frame
Đặt applet vào 1 frame, các frame khác hiển thị thêm thông tin
Main.htm F1.htm




<br><body bgcolor="Lavender"><br></body><br>









This is f1.htm


MORE INFORMATION



Applet1.htm Applet1.java





code = "Applet1.class"
width = "200"
height = "100"
>





import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet
{ public void init()
{ }
public void paint(Graphics g)
{ g.drawString
("Hello from Java Applet", 10, 20 );
}
}
8.7- Applet có phương thức main
Cho phép chạy applet như một application
Viết hàm main cho applet

import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet
{ public void init()
{ }
public void paint(Graphics g)
{ g.drawString("Hello from Java Applet", 10, 20 );
}
public static void main (String args[])
{ Applet1 ap = new Applet1();
ap.init(); // khởi tạo ap nhưng không gọi appletviewer
System.out.println("Applet1 runs as an application!");
}
}
8.8- Truyền tham số cho applet
Truyền tham số cho applet bằng thẻ đặt bên trong thẻ
Một tham số có tên gọi và trị của tham số.
Thí dụ sau minh họa truyền tham số từ Applet2.htm sang Applet2.class để xuất file ảnh Xuongrong.jpj
Cú pháp của thẻ applet:
code = "Applet2.class"
width = "250“ height = "280">
value = "xuongrong.jpg">

Truyền tham số cho applet
Truyền tham số có tên image sang applet với trị là tên file “xuongrong.jpg”
Bên Applet lấy trị của tham số thông qua tên bằng method getParameter (“image”)
Kết qủa
8.9- Multimedia với applet
Multimedia – Đa môi trường, thêm hình ảnh, âm thanh vào trang web.
Multimedia làm tăng tính hấp dẫn của trang Web.
Các file multimedia có thể lấy ở hệ thống file cục bộ hoặc từ 1 địa chỉ URL.
8.9.1- Đưa ảnh vào Applet
Các dạng ảnh được chấp nhận: JPG, JPEG, GIF.
Các bước hiển thị ảnh trong applet
Xác định địa chỉ file ảnh (file ảnh trong máy hoặc URL)
Quyết định vị trí sẽ hiển thị ảnh.
Cung cấp các tham số cần thiết cho phương thức tương ứng. (xem drawImage(..)
Xem thí dụ trước về nạp file ảnh cục bộ
8.9.2- URL với Applet
URL= Uniform Resource Locator
“http://www.sun.com/index.html” cho trình duyệt biết dùng hypertext transfer protocol để tải trang index.html từ www.sun.com.
Java cung cấp lớp URL trong gói java.net cho phép tạo 1 đối tượng quản lý địa chỉ trang Web.
URL với Applet...
Constructors của lớp URL
Thí dụ về mô tả 1 URL
Mô tả 1 địa chỉ tuyệt đối
URL url1 = new URL
(“http://www.sun.com/index.html”);
Để định vị tương đối 1 trang (1 file)
URL url2 = new URL (u, “tmc/abc.gif”);

Trong đó mô tả abc.gif nằm trong thư mục tmc và tmc là thư mục con URL u đã có.
8.9.3- Xuất ảnh
Trích 1 đối tượng ảnh trong applet từ URL
Image Img1 = getImage
(“http://www.abc.com/pic1.gif”);
Trích 1 đối tượng ảnh trong applet từ local file
Image Img2 = getImage
(getCodeBase(), “pic2.jpg”);
Vẽ ảnh Img1 trong applet tại vị trí (x,y) . Dùng đối tượng Graphics g của Applet
g.drawImage (Img1, x,y,this);

Tham khảo lại method drawImage của lớp Graphics
8.9.4- Vẽ trong Applet
Dùng các hành vi của lớp Graphics về vẽ đã được giới thiệu trong chương đồ họa :
drawLine (x1,y1, x2, y2);
drawRect (x,y,Width,Height) , fillRect (x,y,Width,Height) ;
drawOval (x,y,width,height) , fillOval (x,y,width,height)
drawArc (x,y,width,Height,startAngle, degree)
fillArc (x,y,width,Height,startAngle, degree)
...
Applet3.HTM
8.9.5- Âm thanh với Applet
Interface java.applet.AudioClip cho việc xuất âm thanh.
Các hành vi:

Âm thanh với Applet
Khai báo và nạp AudioClip
AudioClip audioClip;
Lấy file âm thanh từ local file
AudioClip getAudioClip (getDocumentBase(), String Filename);
Lấy file âm thanh từ URL
AudioClip getAudioClip (URL url);
AudioClip getAudioClip (URL url , String filename );

Amthanh1.htm
8.10-Cách chuyển 1 ứng dụng thành Applet
(1) import java.applet.*;
Đổi lớp cha từ Frame sang Applet
Đổi constructor thành public void init(), bỏ phát biểu super(...) nếu có vì đây là hành vi của lớp Frame.
Bỏ Window Listener vì trong Applet không có tác vụ này
Bỏ hàm main
Cách chuyển 1 ứng dụng thành Applet
import java.awt.*;
import java.awt.event.*;

class A extends Frame
{

A()
{ super(...);

addWindowListener(...)
}
< các methods>
public static void main(...)
{ ... }
}
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class A extends Applet
{

public void init()
{ // super(...);

//addWindowListener(...)
}
< các methods>
// Bỏ main(...)

}

Minh họa chuyển application thành applet
Appication
BaiTap3.java
Trò chơi phép cộng
trong chương trước
Applet AddingGame
chạy trong Browser
Xem code
8.11- Tóm tắt
Applet là 1 ứng dụng Java nhỏ nhúng vào trính duyệt
Để giữ tính bảo mật, applet không được truy cập hệ thống file của máy khách, không được truy cập server nào khác ngoại trừ server mà từ đó applet này được download.
Applet có chu kỳ sống: init, start, stop, destroy.
Gói java.applet chứa lớp Applet giúp ta tạo ra applet.
Tạo 1 applet tức là hiện thực 1 lớp con của lớp Applet.
Tóm tắt
Phương thức paint(Graphics g), repaint(Graphics g), update(Graphics g) thường được dùng để vẽ trong panel của applet
Trong Applet, ta có thể xuất chữ, vẽ các hình, xuất ảnh bằng các hành vi drawXXX(...).
Muốn applet có thể chạy như 1 application thì viết thêm hàm main cho applet.
Truyền tham số từ file.htm sang applet bằng thẻ

Tóm tắt
Lấy file ảnh bằng
Img = getImage(getCodeBase(), ImageFileName);
Gói java.net chứa lớp URL mô tả về một url
Tạo 1 đối tượng URL
URL url1 = new URL(“http://www.sun.com/index.html”);
Interface java.applet.AudioClip khai báo các han2h vi xử lý âm thanh gồm start(), loop(), stop()
File âm thanh file.au
Nạp file âm thanh
AudioClip audioClip=
getAudioClip(getDocumentBase(), MusicFileName);

Xin cám ơn
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Việt Vương
Dung lượng: | Lượt tài: 4
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)