1. Trang chủ
  2. » Công Nghệ Thông Tin

xử lý sự kiện

37 1,1K 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 37
Dung lượng 760,5 KB

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

Nội dung

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

Trang 1

XỬ LÝ SỰ KiỆN

Trang 2

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ý

Trang 3

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

Trang 4

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

Trang 5

Quá trình xử lý sự kiện

Trang 6

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>);

Trang 7

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.

Trang 8

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.

Trang 9

Các bước để kiểm soát sự kiện

Ví dụ:

Trang 10

Các bước để kiểm soát sự kiện

Ví dụ:

Trang 11

Các bước để kiểm soát sự kiện

Trang 13

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 ô

Nhấp chuột khi chuột ở trên một

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

Trang 14

– 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ý.

Trang 15

Xử lý sự kiện Action

Ví dụ: Chương trình minh họa nút thoát.

Trang 16

Xử lý sự kiện Action

Ví dụ: Chương trình minh họa nút thoát.

Trang 17

Xử lý sự kiện Action

Ví dụ: Xử lý sự kiện trên nhiều đối tượng.

Trang 18

Xử lý sự kiện Action

Ví dụ: Xử lý sự kiện trên nhiều đối tượng.

Trang 19

Xử lý sự kiện Action

Ví dụ: Xử lý sự kiện trên nhiều đối tượng.

Trang 21

Lớp Label

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

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

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

– Void setText(String text): đặt nội dung vào nhãn.

Trang 22

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ạ.

Trang 23

Lớp Label

Trang 24

BorderLayout CardLayout CheckboxGroup Color

Dimension Event

Font FlowLayout FontMetrics Graphics GridBagLayout GridLayout

Image Insets

Point Polygon MenuComponent

Button Canvas Checkbox Choice Container

ScrollBar

Label List

Panel Window ScrollPane

Applet Dialog Frame

TextComponent

TextField TextArea

MenuBar

PopupMenu CheckboxMenuItem

Trang 25

Lớp TextField

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

liệu.

– 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ự.

Trang 26

Lớp TextField

– String getText();

– Void setText(String);

Trang 27

Lớp TextField

Ví dụ: Chương trình minh hoạ nhập dữ liệu đơn

giản.

Trang 28

Lớp TextField

Trang 29

BorderLayout CardLayout CheckboxGroup Color

Dimension Event

Font FlowLayout FontMetrics Graphics GridBagLayout GridLayout

Image Insets

Point Polygon Rectangle MenuComponent

Button Canvas Checkbox Choice Container

ScrollBar

Label List

Panel Window ScrollPane

Applet Dialog Frame

TextComponent

TextField TextArea

MenuBar

PopupMenu CheckboxMenuItem

AWTException Exception

Trang 31

Lớp TextArea

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

String getText()

Void setText(String text)

Void append(String text): them dòng text vào cuối

TextArea.

Trang 33

Lớp Checkbox

Trang 35

Lớp Choice

Trang 36

cỡ và cách bố trí của các thành phần

tin mà lớp GridLayout yêu cầu: Vị trí và kích thuớc mỗi thành phần

Trang 37

Bài tập

thước (số dòng, số cột) nhập vào từ JOptionPane

Ngày đăng: 24/10/2014, 00:33

TỪ KHÓA LIÊN QUAN

w