II MÔ HÌNH XỬ LÝ SỰ KIỆN Đề 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ễ. Là một loai tín hiệu báo cho chương trình có điều gì đó đã xảy ra. Ví dụ: mouseClicked, keyPressed Được sinh ra bởi các hành động của người sử dụng 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 đó.
Đề tài: Tìm hiểu lập trình bắt kiện (Event-Driven Programming)trong Java GV hướng dẫn: Ngơ Cơng Thắng Nhóm SV thực : Nguyễn Thị Thanh Bình Phạm Thị Kim Dung Nguyễn Thị Hoài Nguyễn Ngọc Kỳ NỘI DUNG GIỚI THIỆU VỀ LẬP TRÌNH BẮT SỰ KIỆN MƠ HÌNH XỬ LÍ SỰ KIỆN Giới thiệu mơ hình ủy thác kiện Cơ chế xử lí Lớp kiện XỬ LÍ SỰ KIỆN Sự kiện (event) Đơn vị xử lý kiện (event handler hay event listener ) Lập trình bắt kiện Sự kiện chuột Sự kiện bàn phím DEMO GIỚI THIỆU VỀ LẬP TRÌNH BẮT SỰ KIỆN Sự kiện (event) Đơn vị xử lý kiện (event handler hay event listener ) Lập trình bắt kiện Sự kiện (event) Là loai tín hiệu báo cho chương trình có điều xảy Được sinh hành động người sử dụng • • Ví dụ: mouseClicked, keyPressed Ví dụ: di chuột,kích phím chuột,ấn phím Khi kiện xảy ra, liệu liên quan đến kiện thu thập chuyển tới đơn vị xử lý kiện (event handler) để xử lý Sự kiện bị bỏ qua hay chuyển tới nhiều hàm xử lý kiện lúc hàm xử lý đồng thời lắng nghe kiện Đơn vị xử lý kiện (event handler hay event listener ) • • Là phương thức (hàm) nhận đầu vào từ thiết bị chuột hay bàn phím thực việc để phản ứng lại với kiện xảy thiết bị Hàm xử lý kiện tự động gọi kiện tương ứng phát sinh Ví dụ: Một đơn vị xử lý kiện có tên jButton18MousePressed private void jButton18MousePressed(MouseEvent evt) { String str=jTextField1.getText()+jButton18.getText(); jTextField1.setText(str) ; } Lập trình bắt kiện Người dùng tương tác với đối tượng GUI, thông qua cú nhấp chuột thông qua kiện Các thông báo kiện đưa vào chương trình =>Lập trình bắt kiện có nghĩa làm cho số hành động thực thông qua hàm thông báo xuất kiện MƠ HÌNH XỬ LÝ SỰ KIỆN Giới thiệu mơ hình ủy thác kiện Cơ chế xử lí Lớp kiện Giới thiệu mơ hình ủy thác kiện • Mơ hình ủy thác kiện định nghĩa chế chuẩn cố định để tạo xử lý kiện • • Nguồn tạo gởi kiện tới hay nhiều đích nhận, đích chờ đến nhận kiện, xử lý kiện trả giá trị Trong mơ hình này, đích phải đăng ký với nguồn để nhận thông báo kiện, điều cung cấp nhiều lợi điểm: thông báo gửi đến đích nghe cần nhận Ưu điểm mơ hình: • • Phần chương trình xử lý kiện hoàn toàn tách biệt với giao diện người dùng nơi phát sinh kiện Giao diện người dùng ủy thác việc xử lý kiện cho phần mã lệnh riêng rẽ Mô hình ủy thác kiện 10 Cơ chế xử lý kiện (1) (2) (3) Event source phát sinh EventObject gặp biến cố Event source truyền EventObject tới tất Listener event source Các Listener dựa thông tin EventObject để xác định đoạn code phù hợp phản ứng ứng dụng kiện tiến hành 14 Lớp kiện 15 Những lớp kiện Java.awt.event 16 Những interfaces lắng nghe gói java.awt.event 17 Ví dụ: Khi nhấn nút button (đối tượng nguồn) sinh kiện ActionEvent, kiện gửi cho đối tượng lắng nghe 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ý kiện ActionEvent 18 III Xử lý kiện Sự kiện chuột Sự kiện bàn phím 19 Xử lý kiện chuột • • • Sự kiện chuột tạo rê chuột, di chuyển, nhấn, thả, nhắp chuột vào hay thành phần Java cung cấp hai intefaces lắng nghe MouseListener MouseMotionListener Những kiện chuột “bẫy” cho component GUI mà dẫn xuất từ java.awt.component 20 Các phương thức interface MouseListener 21 Các phương thức lớp MouseEvent 22 Các phương thức interface MouseMotionListener 23 Ví dụ: Chương trình tên MouseTracker bên minh họa việc dùng phương thức interfaces MouseListener MouseMotionListener để “bẫy” xử lý kiện chuột tương ứng 24 Xử lý kiện bàn phím Sự kiện bàn phím phát sinh người dùng gõ vào phím bàn phím (nhấn nhả phím) Kết trả số nguyên mã ASCII kí tự hoặc kí tự ghi phím nhấn hay nhả Tuy nhiên phải gắn với component thiết lập “Focusable “ true(keyboard focus) người dùng nhấn nhả phím bàn phím Sự kiện Java xử lí thơng qua lắng nghe “interface KeyListener” 25 Interface KeyListener 26 KeyEvent lớp kế thừa từ lớp InputEvent 27 Tài liệu tham khảo Bài giảng lâp trình java, Ngơ Cơng Thắng, Trường ĐH Nơng Nghiệp HN Giáo trình Java 2–Lập trình ứng dụng, Nguyễn Tiến, NXB Thống kê 2000 Giáo trình lập trình Java đến phức tạp http://download.oracle.com/javase/tutorial/ui swing/events/ 28 ... listener ) Lập trình bắt kiện Sự kiện chuột Sự kiện bàn phím DEMO GIỚI THIỆU VỀ LẬP TRÌNH BẮT SỰ KIỆN Sự kiện (event) Đơn vị xử lý kiện (event handler hay event listener ) Lập trình bắt kiện Sự kiện. .. DUNG GIỚI THIỆU VỀ LẬP TRÌNH BẮT SỰ KIỆN MƠ HÌNH XỬ LÍ SỰ KIỆN Giới thiệu mơ hình ủy thác kiện Cơ chế xử lí Lớp kiện XỬ LÍ SỰ KIỆN Sự kiện (event) Đơn vị xử lý kiện (event handler... jTextField1.setText(str) ; } Lập trình bắt kiện Người dùng tương tác với đối tượng GUI, thông qua cú nhấp chuột thông qua kiện Các thông báo kiện đưa vào chương trình = >Lập trình bắt kiện có nghĩa làm