Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
760,5 KB
Nội dung
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ụ: [...]... trình minh họa nút thoát 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ụ: Xử lý sự kiện trên nhiều đối tượng 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...Các bước để kiểm soát sự kiện Gv: Văn Thiên Hoàng 11/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 12/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 Nhấp button, ấn Enter,... 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 14/40 Xử lý sự kiện Action • Ví dụ: Chương trình... hoặc gõ vào ô text field Giao diện lắng nghe sự kiện 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 13/40 Xử lý sự kiện Action • Sự kiện Aciton xảy ra khi kích hoạt một Button, List, . 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ự. 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. 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