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

Tìm hiểu về lập trình bắt sự kiện (EventDriven Programming) trong Java

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 (251.4 KB, 28 trang )

Đề tài: Tìm hiểu về lập trình bắt sự kiện
(Event-Driven Programming)trong Java.
GV hướng dẫn: Ngơ Cơng Thắng
Nhóm SV thực hiện :
1. Nguyễn Thị Thanh Bình
2. Phạm Thị Kim Dung
3. Nguyễn Thị Hoài
4. Nguyễn Ngọc Kỳ
1


NỘI DUNG
GIỚI THIỆU VỀ LẬP TRÌNH BẮT SỰ KIỆN

1.




MƠ HÌNH XỬ LÍ SỰ KIỆN

2.




Giới thiệu mơ hình ủy thác sự kiện.
Cơ chế xử lí.
Lớp sự kiện

XỬ LÍ SỰ KIỆN



3.



4.

Sự kiện (event)
Đơn vị xử lý sự kiện (event handler hay event listener )
Lập trình bắt sự kiện

Sự kiện chuột
Sự kiện bàn phím

DEMO
2


1. GIỚI THIỆU VỀ LẬP TRÌNH BẮT SỰ
KIỆN
1.
2.

3.

Sự kiện (event)
Đơn vị xử lý sự kiện (event handler hay
event listener )
Lập trình bắt sự kiện


3


1. Sự kiện (event)


Là một loai tín hiệu báo cho chương trình có điều gì đó đã
xảy ra.




Được sinh ra bởi các hành động của người sử dụng






Ví dụ: mouseClicked, keyPressed
Ví dụ: di chuột,kích phím chuột,ấn phím

Khi sự kiện xảy ra, dữ liệu liên quan đến sự kiện đó được
thu thập và chuyển nó tới một đơn vị xử lý sự kiện (event
handler) để xử lý.
Sự kiện có thể bị bỏ qua hay chuyển tới nhiều hàm xử lý
sự kiện một lúc nếu những hàm xử lý này cùng đồng thời
lắng nghe sự kiện đó.
4



2. Đơn vị xử lý sự kiện (event
handler hay event listener )




Là một phương thức (hàm) nhận đầu vào
từ một thiết bị như chuột hay bàn phím và
thực hiện một việc nào đó để phản ứng lại
với một sự kiện xảy ra trên thiết bị đó.
Hàm xử lý sự kiện này sẽ được tự động
gọi khi sự kiện tương ứng phát sinh.

5


Ví dụ: Một đơn vị xử lý sự kiện có tên
jButton18MousePressed
private void jButton18MousePressed(MouseEvent evt)

{
String str=jTextField1.getText()+jButton18.getText();
jTextField1.setText(str) ;

}

6



3. Lập trình bắt sự kiện
Người dùng tương tác với các đối tượng
GUI, hoặc thông qua cú nhấp chuột hoặc
thông qua các sự kiện.
 Các thông báo sự kiện được đưa vào
chương trình
=>Lập trình bắt sự kiện có nghĩa là làm cho
một số hành động thực hiện thông qua hàm
thông báo về sự xuất hiện của các sự kiện.


7


2. MƠ HÌNH XỬ LÝ SỰ KIỆN
Giới thiệu mơ hình ủy thác sự kiện
 Cơ chế xử lí.
 Lớp sự kiện


8


1. Giới thiệu mơ hình ủy thác
sự kiện


Mơ hình ủy thác sự kiện định nghĩa các cơ chế chuẩn và cố
định để tạo và xử lý sự kiện.





Nguồn tạo và gởi sự kiện tới một hay nhiều đích nhận, đích sẽ chờ
đến khi nhận được sự kiện, nó sẽ xử lý sự kiện và trả về giá trị.
Trong mơ hình này, đích phải đăng ký với nguồn để nhận các
thơng báo về sự kiện, điều này cung cấp nhiều lợi điểm: các thơng
báo chỉ gửi đến các đích nghe cần nhận nó.

Ưu điểm mơ hình:




Phần chương trình xử lý sự kiện hoàn toàn tách biệt với giao diện
người dùng nơi đã phát sinh ra các sự kiện.
Giao diện người dùng có thể ủy thác việc xử lý sự kiện cho các
phần mã lệnh riêng rẽ.
9


Mơ hình ủy thác sự kiện

10


Mơ hình minh họa ủy thác sự kiện












Ta là một đối tượng
Ta bị bệnh (sự kiện)
Bệnh có trạng thái (đối tượng sự kiện)
Một bác sĩ là một đối tượng khác
Ta nhờ bác sĩ chữa bệnh (ủy thác xử lý sự kiện)
Bác sĩ chờ (listen) ta đưa ra triệu chứng bệnh (đối tượng
event) rồi dựa vào trạng thái của bệnh (đối tượng event) để xử
lý phù hợp
Có thể ta mắc nhiều bệnh-> có thể ủy thác chữa bệnh cho
nhiều bác sĩ, mỗi bác sĩ một loại bệnh
Một bác sĩ chữa bệnh như thế nào tùy thuộc vào quyết định
của bác sĩ đó dựa trên tình hình thực tế của dược phẩm
11


Ví dụ minh họa
Event
Object 1
(bệnh 1)
Event Source
(người bệnh)
Event

Object 2
(bệnh 2)
Tạo Event Object khi
gặp 1 sự kiện

Event Listener
1
(Bác sĩ 1)

Event Listener
2
(Bác sĩ 2)

Có Event handler để xử lý.
Nội dung event handler tùy thuộc vào mục tiêu
của ứng dụng

12


3 yếu tố quan trọng trong mơ hình xử
lý sự kiện




Nguồn phát sinh sự kiện (event source)
Sự kiện (event object)
Bộ lắng nghe sự kiện (event listener)


13


2. Cơ chế xử lý sự kiện
(1)

(2)

(3)

Event source phát sinh EventObject khi gặp
biến cố
Event source truyền EventObject tới tất cả
các Listener của event source
Các Listener dựa trên thông tin trong
EventObject để xác định đoạn code phù
hợp và phản ứng của ứng dụng đối với sự
kiện được tiến hành
14


3. Lớp sự kiện

15


Những lớp sự kiện chính trong Java.awt.event

16



Những interfaces lắng nghe của gói
java.awt.event

17


Ví dụ: Khi nhấn nút button (đối tượng nguồn) sẽ sinh ra sự kiện ActionEvent, sự kiện này được gửi cho
đối tượng lắng nghe sự kiện(đối tượng đích). Đối tượng nguồn dùng phương thức addActionEvent để
đăng ký đối tượng đích,
đối tượng đích dùng giao diện ActionEvent cung cấp phương thức actionPerforment (actionevent e) để xử
lý sự kiện ActionEvent

18


III. Xử lý sự kiện



Sự kiện chuột
Sự kiện bàn phím

19


1. Xử lý sự kiện về chuột







Sự kiện chuột được tạo ra khi rê chuột, di
chuyển, nhấn, thả, nhắp và khi chuột đi vào
hay ra một thành phần.
Java cung cấp hai intefaces lắng nghe là
MouseListener và MouseMotionListener.
Những sự kiện chuột có thể “bẫy” cho bất
kỳ component nào trên GUI mà dẫn xuất từ
java.awt.component
20


Các phương thức của interface
MouseListener

21


Các phương thức của lớp MouseEvent

22


Các phương thức của interface
MouseMotionListener

23



Ví dụ:
Chương trình tên MouseTracker bên dưới
minh họa việc dùng những phương thức của
các interfaces MouseListener và
MouseMotionListener để “bẫy” và xử lý các
sự kiện chuột tương ứng

24


2. Xử lý sự kiện về bàn phím






Sự kiện bàn phím được phát sinh khi người dùng
gõ vào một phím bất kì trên bàn phím (nhấn hoặc
nhả phím). Kết quả trả về là một số nguyên là mã
ASCII của kí tự hoặc hoặc kí tự được ghi trên
phím được nhấn hay nhả đó.
Tuy nhiên nó phải được gắn với các component
được thiết lập “Focusable “ bằng true(keyboard
focus) khi người dùng nhấn hoặc nhả một phím bất
kì trên bàn phím.
Sự kiện này được Java xử lí thơng qua bộ lắng
nghe “interface KeyListener”
25



×