Chương 7: Xử lý sự kiện
lượt xem 27
download
Tham khảo tài liệu 'chương 7: xử lý sự kiện', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả.Tìm hiểu các thông điệp được phát sinh từ bàn phím hay từ thiết bị chuột để viết các xử lý tương ứng với từng thiết bị.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 7: Xử lý sự kiện
- Chương 7: X lý s ki n GVLT: Tr n Anh Dũng 1
- Nh c l i GUI (1) Tách ñư c ñi u khi n c a chương trình v i d li u. Gói awt/swing c a Java bao g m m t t p các l p cho phép ngư i l p trình t o ra GUI c a ng d ng. Frame/JFrame và Panel/JPanel là các container thư ng ñư c dùng ñ t o ra ng d ng ch y ñ c l p (stand-alone application). Trình qu n lý Layout manager giúp b trí các component lên GUI. Trong gói awt có 5 lo i Layout khác nhau 2
- Nh c l i GUI (2) Thi t l p layout cho m t container. FlowLayout là b c c m c ñ nh c a Panel BorderLayout là b c c m c ñ nh c a Frame. GridLayout là cách b trí các component vào container d ng 1 lư i rows hàng cols c t. GridBagLayout m r ng c a GridLayout. ð dùng GridBagLayout GridBagConstraint. NullLayout là cách b trí t do. M t GUI có b c c ph c t p phân tích thành nhi u thành ph n, m i thành ph n là 1 panel có layout riêng. 3
- N i dung Gi i thi u l p trình hư ng s ki n Mô hình x lý s ki n Hành ñ ng, s ki n và l ng nghe. Các l p s ki n AWT, interface l ng nghe s ki n 4
- L p trình x lý s ki n (1) L p trình hư ng th t c (Procedural programming) L p trình hư ng s ki n (event-driven programming) Tùy vào các tương tác gi a ngư i dùng v i chương trình: Ch n m t ch c năng trong ng d ng M ho c ñóng m t c a s Nh n dòng văn b n Thay ñ i tiêu ñi m (focus) Thay ñ i tr ng thái … 5
- L p trình x lý s ki n (2) Khi có m t tương tác x y ra thì m t s ki n ñư c g i ñ n chương trình. Thông tin v s ki n thư ng ñư c lưu tr trong m t ñ i tư ng d n xu t t l p AWTEvent. Nh ng ki u s ki n trong gói java.awt.event có th dùng cho c nh ng component awt và swing. ð i v i thư vi n JFC thì có thêm nh ng ki u s ki n m i trong gói java.swing.event. 6
- Mô hình x lý s ki n (1) Có 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) EventObject User action Generate Notify listener an event Trigger an event Source Object Listener Object Register a listener object Event Handler 7
- Mô hình x lý s ki n (2) Ngu n phát sinh s ki n c n ph i ñăng ký “b l ng nghe” ñ x lý khi ngư i dùng tác ñ ng class MyMenuItemListener implements ActionListener { … } 8
- Các l p s ki n java.awt.event 9
- Các l p s ki n (tt) L p s ki n Mô t ActionEvent Phát sinh khi m t button ñư c nh n, m t item trong danh sách ch n l a ñư c nh p ñôi hay m t menu ñư c ch n. AdjustmentEvent Phát sinh khi m t thanh scrollbar ñư c s d ng. ComponentEvent Phát sinh khi m t thành ph n ñư c thay ñ i kích thư c, ñư c di chuy n, b n hay làm cho ho t ñ ng ñư c. FocusEvent Phát sinh khi m t thành ph n m t hay nh n focus. KeyEvent Phát sinh khi input ñư c nh n t bàn phím. 10
- Các l p s ki n (tt) L p s ki n Mô t ItemEvent Phát sinh khi m t menu item ñư c ch n hay b ch n; khi m t checkbox hay m t item trong danh sách ñư c click. WindowEvent Phát sinh khi m t c a s ñư c kích ho t, ñư c ñóng, ñư c m hay thoát. TextEvent Phát sinh khi giá tr trong thành ph n text field hay text area b thay ñ i. MouseEvent Phát sinh khi chu t di chuy n, ñư c click, ñư c kéo hay b th ra. 11
- Các interface l ng nghe s ki n 12
- Hành ñ ng, s ki n, l ng nghe Hành ActionEvent ActionListener AdjustmentEvent AdjustmentListener ComponentEvent ComponentListener FocusEvent FocusListener ItemEvent ItemListener W indowEvent W indowListener TextEvent TextListener MouseEvent MouseListener MouseMotionListener KeyEvent KeyListener 13
- Hành ñ ng, s ki n, l ng nghe L p s ki n B l ng nghe Hàm x lý ActionEvent ActionListener actionPerformed(ActionEvent) ItemEvent ItemListener itemStateChanged(ItemEvent) WindowEvent WindowListener windowClosing(WindowEvent) windowOpened(WindowEvent) windowIconified(WindowEvent) windowDeiconified(WindowEvent) windowClosed(WindowEvent) windowActivated(WindowEvent) windowDeactivated(WindowEvent) ContainerEvent ContainerListener componentAdded(ContainerEvent) componentRemoved(ContainerEvent) …. … … 14
- Qui trình x lý s ki n Khai báo public MyClass implements ActionListener ðăng ký Component.addActionListener(myclass); Cài ñ t public void actionPerformed(ActionEvent e) { //…… } 15
- Ví d x lý s ki n Ví d 1: T o b l ng nghe bi n c cho ñ i tư ng khung ch a Frame, và x lý bi n c ñóng c a s . T o và ñăng ký m t b l ng nghe cho m t component trên GUI (Frame). Cài ñ t các phương th c qu n lý và x lý s ki n tương ng. 16
- WindowEventDemo.java import java.awt.*; import java.awt.event.*; public class WindowEventDemo{ public static void main(String args[ ]){ Frame f = new Frame ("WindowClosing Demo"); WindowCloser closer = new WindowCloser(); f.addWindowListener(closer); f.setBounds(10, 10, 300, 200); f.setVisible(true); } } 17
- WindowCloser.java import java.awt.event.*; class WindowCloser implements WindowListener{ public void windowClosing(WindowEvent e){ System.out.println("windowClosing.."); System.exit(0); } public void windowActivated(WindowEvent e){ System.out.println("windowActivated..."); } public void windowClosed(WindowEvent e){ System.out.println("windowClosed..."); } //… 18
- WindowCloser.java public void windowOpened(WindowEvent e){ System.out.println("windowOpened..."); } public void windowDeactivated(WindowEvent e){ System.out.println("windowDeactivated..."); } public void windowDeiconified(WindowEvent e){ System.out.println("windowDeiconified..."); } public void windowIconified(WindowEvent e){ System.out.println("windowIconified..."); } } 19
- Ví d X lý s ki n (2) Có th dùng l p tr u tư ng WindowAdapter ñ t o ra b l ng nghe. W indowAdapter hi n th c interface WindowListener nên l p o này cũng có 7 phương th c gi ng như giao di n WindowListener 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình HTML và Javascript
236 p | 342 | 132
-
Giáo trình Tin học đại cương: Phần 2 - ĐH Sư phạm TP.HCM
193 p | 266 | 93
-
Giáo trình An toàn và bảo mật thông tin: Phần 1
85 p | 540 | 93
-
Giáo trình An toàn và bảo mật thông tin: Phần 2
60 p | 474 | 86
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 7 - ThS. Lương Trần Hy Hiến
55 p | 104 | 19
-
Hướng dẫn tạo GUI trong Java bằng AWT phần 7
5 p | 138 | 18
-
Bài giảng môn Thiết bị mạng: Chương 7 - ThS. Nguyễn Nhật Quang
40 p | 80 | 10
-
Theme mang phong cách phim Avatar cho Windows 7
2 p | 49 | 8
-
THIẾT KẾ BIỂU MẪU DÙNG CÁC ĐIỀU KHIỂN - CHỈ ĐỊNH VỊ TRÍ CƠ SỞ DỮ LIỆU - 7
15 p | 85 | 5
-
Bài giảng Lập trình web 1: Chương 7 - Nguyễn Huy Khánh
52 p | 73 | 4
-
Bài giảng ngôn ngữ C#: Bài 7 - Chử Đức Hoàng
28 p | 33 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn