1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CH04 java applets kho tài liệu bách khoa

39 40 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các phương thức cơ bản của một Applet Để đáp ứng các sự kiện chính trên Applet, mỗi Applet thường cài đặt 4 phương thức tương ứng: • init : Khởi tạo Applet, được dùng hàm xây dựng của A

Trang 1

CHƯƠNG 3

JAVA APPLETS

Trang 3

http://java.sun.com/applets/jdk/1.4/index.html

Trang 4

Ví dụ về Applet

Tạo một file nguồn Java HelloWorld.java có nội dung như sau:

Lưu ý rằng trong NetBean thì đây

là một Projects không có hàm main

nên không thể biên dịch và chạy cả

một Project Sử dụng Shift + F6 để

biên dịch chỉ một file nguồn Java.

Trang 5

Tạo một trang HTML chứa Applet

Ta tạo một trang web HTML có nội dung như sau:

Đặt trang web này và file ví dụ trên vào cùng thư mục Chúng ta sẽ có một applet chạy trên Web.

Chú ý: Để applet hiển thị tốt unicode trong trình duyệt ta biên dịch :

javac –encoding utf-8 HelloWorld.java Mặc định, NetBeans luôn biên dịch theo chuẩn UTF-8 nên không cần phải chuyển đổi.

Trang 6

Phân tích ví dụ

Kế thừa Applet và tham khảo đến thư viện đồ họa

Chỉ có phương thức paint, không có hàm main

Trang 7

Tổng quan về một Applet

• Java là dẫn xuất của lớp chuẩn Applet theo sơ

đồ sau:

java.lang.Object java.awt.Component java.awt.Container java.applet.Applet

Trang 8

Vòng đời của 1 applet

Dừng

Trang 9

Các phương thức cơ bản của một

Applet

Để đáp ứng các sự kiện chính trên Applet, mỗi

Applet thường cài đặt 4 phương thức tương ứng:

• init() : Khởi tạo Applet, được dùng hàm xây dựng của Applet.

• start() : Bắt đầu hoạt động của applet như khi

nạp applet hay khi người dùng thăm lại trang

Trang 10

Ví dụ khác về Applet

Trang 12

Phân tích

để hiển thị trong applet

• paint() : phương thức hiển thị cơ bản Thường các

applet dùng paint() để biểu diễn các hoạt động của

mình trên trang Web.

• update() : là phương thức ta dùng sau khi thực hiện

paint() nằm làm tăng hiệu quả vẽ.

Applet còn thừa hưởng các phương thức về sự kiện như

click chuột, rê chuột, thả … trong lớp Event cũng của

AWT.

Trang 13

Thư viện AWT

– Là bộ thư viện công cụ lập trình Windows trừu tượng dùng để xây dựng giao diện người dùng (GUI).

– Cung cấp đầy đủ các đối tượng cần thiết để lắp ghép và tạo nên một ứng dụng Windows thuần nhất.

– Các thành phần giao diện đồ họa nằm trong gói

java.awt

Trang 14

Các thành phần của AWT

Component

Button TextComponent

TextField

TextArena Checkbox

Container

Panel Applet

Windows

Frame Dialog

MenuComponent

Menu MenuBar MenuItem List

Scrollbar Label Choice

Trang 15

Containers và Layout Manager

• Container : Là đối tượng dùng để chứa đựng các đối tượng khác Ngoại trừ Canvas.

• Layout Manager : là một đối tượng được

dùng để điều khiển vị trí và kích thước của

các thành phần bên trong một đối tượng

Container

• Events : Các thành phần có thể nhận các sự

kiện từ chuột và bàn phím.

Trang 16

Danh sách các Layout Manager

Trang 18

• Đây là layout mặc định cho Applet, đơn giản là đặt các thành phần trên cùng một dòng từ trái sang phải, khi chiều dài không đủ thì đối tượng tiếp theo sẽ

được đặt ở hàng dưới Cách canh lề mặc định là

canh giữa.

• Có thể đặt lại thứ từ từ trái sang phải hay ngược lại

bằng phương thức setComponentOrientation

Trang 19

• Các đối tượng được đặt vừa vặn với khung

chứa và nằm chồng lên nhau như các lá bài Như vậy ta chỉ thấy được một đối tượng Các đối tượng khác nằm bên dưới sẽ bị che khuất

Trang 20

• Tạo một khung lưới vô hình với các ô bằng

nhau Các đối tượng sẽ đặt vừa các ô đó Thứ tực sắp xếp cũng là từ trái qua phải, từ trên xuống

Trang 21

• Đây là cách trình bày uyển chuyển những cũng dễ gây hiểu lầm nhất Các đối tượng trong khung chứa cũng được đưa vào một khung lưới tương tự

GridLayout nhưng kích thước các đối tượng không nhất thiết phải vừa khít dựa trên tùy chọn

GridBagConstraint

Trang 22

Các trình bày tự do (NULL Layout)

• Khi áp dụng cách trình bày này, ta phải làm tất cả

bằng tay từ việc định vị trí tọa độ chính xác trên màn hình cho đối tượng.

• Để áp dụng cách trình bày này ta dùng:

setLayout( null )

• Các hàm thường dùng:

public void setLocation(Point p )

public void setSize(Dimension d )

public void setBounds(Rectangle r )

Trang 23

Các phương thức chung

Do hầu hết các thành phần đều được dẫn xuất từ lớp

cha là component cho nên chúng đều có những

phương thức được thiết kế sẵn từ lớp cha component

Dưới đây là các phương chung:

public void setBackground(Color c): Đặt màu nền

public Color getBackground(Color c): Lấy màu nền

public void setForeground(Color c): Đặt màu chữ

public Color getForeground(Color c): Lấy màu chữ

public void setVisible(boolean isShowed ): Ẩn/hiện một đối tượng

Trang 24

Các phương thức chung

public void setFont(Font f): Thay đổi font hiển thị cho các

đối tượng (TextField, TextArea, Button, Checkbox, …)

public Font getFont(): Lấy thuộc tính font của đối tượng.

public FontMetrics getFontMetrics(Font f): Lấy thông tin về kích thước của đối tượng font đang được sử dụng.

public Component getComponentAt(Point P): Tìm đối

tượng con ở tọa độ p(x,y) trong khung chứa Container

public void setEnabled(): “bật” hoặc “tắt” component

public void repaint(): cập nhật lại component

public void update(Graphics g): được gọi qua repaint()

Trang 25

Các sự kiện chung

Các tình huống hay các sự kiện xuất phát từ lớp Component đa phần là những sự kiện sau:

public void addComponentListener(ComponentListener l)

// Xử lý các sự kiện khi đối tượng thay đổi về kích thước, hiện ra hay ẩn đi như phương thức setVisible()

public void addFocusListener(FocusListener l)

public void addKeyListener(KeyListener l)

public void addMouseListener(MouseListener l)

public void addMouseMotionListener(MouseMotionListener l)

Trang 26

• Đây là một khung vẽ, cung cấp cho ta phương

thức paint(Graphic g) giống như của Applet

• Đối tượng Canvas có thể tự mình tạo ra những đối tượng đồ họa khá đặc sắc

• Thông thường, khi muốn sử dụng Canvas

người ta tạo ra một lớp khác dẫn xuất từ lớp

Canvas và cài đặt phương thức paint() cho nó.

Trang 27

Tạo đối tượng Button bằng cú pháp:

public Button(String label )

Với label là tên nhãn mà ta muốn hiển thị như “OK” hay

“Cancel”

Ví dụ:

Button myButton = new Button(“ Press me ”);

Sau đó add vào cửa sổ chương trình bằng dòng lệnh;

add (myButton);

Các hàm thông dụng khác:

public void setLabel(String newLabel)

public String getLabel()

Trang 28

Tạo đối tượng Label bằng cú pháp:

public Label(String labelText )

Ví dụ:

Label myLabel = new Label(“ Hello ”);

Những giá trị canh lề của lớp Label gồm: CENTER, LEFT, RIGHT

Ví dụ:

Label myLabel = new Label(“ right Hello ”,Label.RIGHT);

Các hàm thông dụng khác:

public String getText()

public String setText()

public int getAlignment()

public int setAlignment() throws IlligalArgmentException

Trang 29

Checkbox và Radio Button

• Gồm 2 phần: Nhãn và một dấu biểu hiện trạng thái của ô kiểu boolean Mặc định là false.

• Tạo đối tượng Checkbox bằng cú pháp:

public Checkbox()

public Checkbox(String checkboxLabel )

public Checkbox(String checkboxLabel, boolean state )

public Checkbox(String checkboxLabel, boolean state,

CheckboxGroup g )

• Các hàm thông dụng khác:

public boolean getState()

public void setState(boolean state)

• Sự kiện: ItemListener

addItemListener, removeItemListener,

• Radio button là một trường hợp đặt biệt của Checkbox với

CheckboxGroup.

Trang 30

• Như một trình đơn xổ xuống một danh sách.

• Tạo đối tượng Choice bằng cú pháp:

public synchroized void remove(int i);

public synchroized void removeAll();

public synchroized void select(int i)

throws IlligalArgumentException;

public void select(String item);

public int getSelectedIndex();

public String getSelectedItem();

Trang 31

• Lớp List cho phép ta tạo một danh sách các phần tử

để lựa chọn chứ không chỉ hiện một phần tử như

Choice.

• Tạo đối tượng List bằng cú pháp:

public List()

public List(int rows)

public List(int rows,boolean multiMode)

• Ta dùng phương thức add để thêm vào danh sách:

public synchroized void add(String item)

public synchroized void add(String item,int index)

Trang 32

• Các phương thức thường dùng:

public synchroized void replaceItem(Stringvalue, int pos);

public synchroized void remove(int pos);

public synchroized void removeAll();

public int getSelectedIndex();

public synchroized int[] getSelectedIdexs();

public String getSelectedItem();

public synchroized String[] getSelectedItems();

public synchroized void select(int i)

public synchroized void deselect(int i);

public synchroized boolean isSelected(int index);

public void setMultiplesSelections(boolean allow);

public boolean isMultiplesMode();

public void makeVisible(int index);

Trang 33

TextField và TextArea

TextField là vùng có khả năng nhập dòng văn

bản Cú pháp:

public TextField()

public TextField(String initText)

public TextField(int numColumns)

public TextField(String initText, int numColumns)

TextArea là vùng có khả năng nhập nhiều dòng

văn bản Cú pháp:

public TextArea()

public TextArea(String initText)

public TextArea(int rows, int cols)

public TextArea(String initText,int rows,int cols)

Trang 34

TextField và TextArea

• Các phương thức thường dùng:

public void setText(String newText);

public String getText();

public String getSelectedText();

public int getSelectionStart();

public int getSelectionEnd();

public void selectAll();

public void setEditable(boolean canEdited);

public boolean getEditable();

Trang 35

• Các phương thức của riêng TextField:

tự ch thay cho các ký tự thực nhập vào Thườngdùng cho các ô mật khẩu

biệt được đặt ở trên

của ô văn bản (tính theo ký tự) là bao nhiêu

Trang 36

• Các phương thức của riêng TextArea:

public void appendText(String newText): Thêm một dòng văn bản.

public void insertText(String newText,int pos) :

Chèn vào một đoạn văn bản tại vị trí pos.

public void replaceText(String newText, int start, int end): Thay thế một đoạn văn bản.

Trang 38

Giới hạn của applet

• Không được đọc/ghi lên các tập tin của máyđang chạy

• Không được thực hiện các kết nối mạng (ngoạitrừ kết nối với máy đang chạy)

• Không được khởi động các chương trình trênmáy đang chạy

• Không được đọc bất kỳ tính chất nào của hệthống

Trang 39

Khả năng của applet

• Applet có thể tạo kết nối đến máy đang chạy

• Applet có thể gọi đến các phương thức toàncục của các applet khác trên cùng trang web

• Các applet được nạp từ hệ thống tập tin cục

bộ sẽ không bị giới hạn của các applet đượcnạp từ trên mạng

• Không nhất thiết applet ngừng lại khi ta thoátkhỏi các trang web chứa nó

Ngày đăng: 08/11/2019, 18:04

TỪ KHÓA LIÊN QUAN