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

xử lý sự kiện

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 (344.82 KB, 37 trang )

XỬ LÝ SỰ KiỆN
Gv: Văn Thiên Hoàng 2/40
1. Giới Thiệu

Java xử lý sự kiện xảy ra trên các thành phần đồ họa
dựa trên mô hình “phát sinh sự kiện – lắng nghe sự
kiện”.

Trong mô hình này có 3 loại đối tượng sau:

Đối tượng phát sinh sự kiện: đây là đối tượng nhận sự kiện từ
thao tác người dùng

Đối tượng lắng nghe sự kiện: là đối tượng có nhiệm vụ xử lý sự
kiện.

Đối tượng sự kiện: là đối tượng chứa những thông tin về đối
tượng phát sinh sự kiện. Đối tượng này được truyền từ đối tượng
phát sinh sự kiện đến đối tượng lắng nghe sự kiện để xử lý.
Gv: Văn Thiên Hoàng 3/40
Luồng GUI

Khi một cửa số được tạo ra và hiển thị, Java
sẽ tạo ra một luồng xử lý GUI thực hiện:

Phát hiện những sự kiện (mouse click, keypress, )

Gởi sự kiện đến đối tượng lắng xử lý sự kiện
Gv: Văn Thiên Hoàng 4/40
Quá trình xử lý sự kiện


Khi một sự kiện phát sinh, luồng xử lý GUI (GUI
thread) xác định nguồn sự kiện và kiểu sự kiện.

Nếu có một đối tượng lắng nghe sự kiện đăng ký
với nguồn sự kiện đó, thì một đối tượng sự kiện
được tạo ra.

Với mỗi đối tượng xử lý sự kiện cho kiểu sự kiện
này, Java (GUI thread) sẽ gọi phương thức xử lý sự
kiện thích hợp cửa đối tượng xử lý sự kiện và truyền
cho nó tham số là đối tượng sự kiện
Gv: Văn Thiên Hoàng 5/40
Quá trình xử lý sự kiện
Gv: Văn Thiên Hoàng 6/40
Các bước để kiểm soát sự kiện
Có 3 bước:

Xác định kiểu Listener liên quan đến sự kiện cần xử lý:
ActionListener, TextListener, WindowListener …

Khai báo đối tượng xử lý sự kiện

Khai báo lớp xử lý sự kiện.

implement của một giao diện: ActionListener, MouseListener,

extends của một lớp thực thi giao điện: WindowAdapter,
MouseAdapter,

Cài đặt tường minh các phương thức xử lý sự kiện


Đăng ký đối tượng xử lý sự kiện với đối tượng nguồn
sự kiện

add<Loại SK>Listener(<đt xử lý SK>);
Gv: Văn Thiên Hoàng 7/40
Lớp Adapter

Tại sao Java hỗ trợ phải dùng lớp Adapter ?

Cài đặt tất cả các phương thức của giao diện  nếu ta khai
báo lớp kế thừa thì chỉ cần viết đè phương thức quan tâm 
giảm công việc code.

Các phương thức được cài đặt trong lớp Adapter là
rỗng.
Gv: Văn Thiên Hoàng 8/40
Các bước để kiểm soát sự kiện
Lớp xử lý sự kiện

Danh sách các Giao diện, Lớp thực thi giao diện, và
các phương thức chính của các giao diện.
Gv: Văn Thiên Hoàng 9/40
Các bước để kiểm soát sự kiện

Ví dụ:
Gv: Văn Thiên Hoàng 10/40
Các bước để kiểm soát sự kiện

Ví dụ:

Gv: Văn Thiên Hoàng 11/40
Các bước để kiểm soát sự kiện
Gv: Văn Thiên Hoàng 12/40
Các kiểu sự kiện

Java chia các sự kiện xảy ra trên các đối tượng đồ họa
thành các sự kiện sau:

Action

Focus

Mouse

Key

Window



Các lớp, giao diện liên quan đến sự kiện đặt trong gói
java.awt.event
Gv: Văn Thiên Hoàng 13/40
Các kiểu sự kiện

Một số kiểu sự kiện thông dụng sau:
Hành động gây ra sự kiện Giao diện lắng nghe sự kiện
Nhấp button, ấn Enter, hoặc gõ vào ô
text field
ActionListener

Đóng một frame WindowListener
Nhấp chuột khi chuột ở trên một
component
MouseListener
Chuột di chuyển trên component MouseMotionListener
Component hiển thị ComponentListener
Có hành động chọn trên Table hoặc
List
ListSelectionListener
Gv: Văn Thiên Hoàng 14/40
Xử lý sự kiện Action

Sự kiện Aciton xảy ra khi kích hoạt một Button, List,
Menu, TextField.

Lớp ActionEvent: lớp đối tượng nhận sự kiện.

Phương thức:

Object getSource(): trả về đối tượng nhận sự kiện.

Giao diện ActionListener: dùng để cài đặt đối tượng
xử lý sự kiện. Giao diện này chứa phương thức:

void actionPerformed(ActionEvent ae)

Phương thức này tự động thực hiện khi có sự kiện xảy ra trên
những đối tượng đã đăng ký.
Gv: Văn Thiên Hoàng 15/40
Xử lý sự kiện Action


Ví dụ: Chương trình minh họa nút thoát.
Gv: Văn Thiên Hoàng 16/40
Xử lý sự kiện Action

Ví dụ: Chương trình minh họa nút thoát.
Gv: Văn Thiên Hoàng 17/40
Xử lý sự kiện Action

Ví dụ: Xử lý sự kiện trên nhiều đối tượng.
Gv: Văn Thiên Hoàng 18/40
Xử lý sự kiện Action

Ví dụ: Xử lý sự kiện trên nhiều đối tượng.
Gv: Văn Thiên Hoàng 19/40
Xử lý sự kiện Action

Ví dụ: Xử lý sự kiện trên nhiều đối tượng.
Gv: Văn Thiên Hoàng 20/40
Lớp Color

Lơp Color dùng quy định các màu vẽ cho các
thành phần.

Một số hằng:

red

RED


blue

BLUE


Gv: Văn Thiên Hoàng 21/40
Lớp Label

Dùng để tạo các nhãn trên cửa sổ.

Phương thức khởi tạo:

Label(): tạo nhãn trống.

Label(String text): tạo nhãn chứa nội dung.

Một số phương thức thường dùng:

String getText(): trả về nội dung của nhãn.

Void setText(String text): đặt nội dung vào nhãn.
Gv: Văn Thiên Hoàng 22/40
Lớp Label

Ví dụ: Chương trình hiển thị dòng chữ “chao Java –
AWT” trên màn hình đồ hoạ.
Gv: Văn Thiên Hoàng 23/40
Lớp Label
Gv: Văn Thiên Hoàng 24/40
Object

BorderLayout
CardLayout
CheckboxGroup
Color
Dimension
Event
Font
FlowLayout
FontMetrics
Graphics
GridBagLayout
GridLayout
Image
Insets
Point
Polygon
Rectangle
Toolkit
MenuComponent
Component
FileDialog
Button
Canvas
Checkbox
Choice
Container
ScrollBar
Label
List
Panel

Window
ScrollPane
Applet
Dialog
Frame
TextComponent
TextField
TextArea
MenuBar
MenuItem
Menu
PopupMenu
CheckboxMenuItem
AWTException
AWTError
Exception
Error
Gv: Văn Thiên Hoàng 25/40
Lớp TextField

Lớp TextField: dùng để tạo các ô nhập dữ
liệu.

Phương thức khởi tạo:

TextField(): tạo một TextField trống.

TextField(String text):tạo một TextField chứa nội dung
text.


TextField(int n): tạo TextField hiển thị được n kí tự.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×