Khái niệm component Tất cả các thành phần cấu tạo nên chương trình GUI được gọi là component... Khái niệm container Là thành phần mà có thể chứa các thành phần khác,có thể vẽ và tô màu
Trang 1Chương 4
KỸ THUẬT LẬP TRÌNH GIAO DIỆN NGƯỜI DÙNG (GUI)
TRONG JAVA
Trang 2Nội dung
Tổng quan thư viện AWT
Các kiểu layout manager
Trang 3Tài liệu đọc thêm
[1] Kathy Walrath, Mary Campione, Alison Huml, Sharon Zakhour The JFC Swing Tutorial, Second Edition Copyright © 2004 Sun Microsystems, Inc
Trang 4Thư viện GUI trong java
• Thư viện hỗ trợ: tập hợp các lớp java cung cấp hỗ trợ thiết kế, xây dựng GUI.
awt (java.awt.*) Abstract Window Toolkit
swing (javax.swing.*)
Các components của các nhà cung cấp thứ 3
Trang 5Tổng quan về AWT
AWTEvent Font FontMetrics
Component Graphics
Frame Dialog FileDialog
Trang 6Tổng quan về JFC Swing
Trang 14Khái niệm component
Tất cả các thành phần cấu tạo nên chương trình GUI được gọi
là component
Ví dụ
Containers,
TextField, Label, Checkbox, TextArea
Scrollbars, Scrollpanes, Dialog
…
Trang 15Khái niệm container
Là thành phần mà có thể chứa các thành phần khác,có thể vẽ
và tô màu
Frame/JFrame, Panel/JPanel, Dialog/JDialog,
ScrollPane/JScrollPane, …
Gắn component vào khung chứa
Lấy thông tin của component
objectName.get…( );
Gán thông tin cho component
objectName.set…( );
Trang 16Khái niệm Layout Manager
Các loại layout khác nhau:
Trang 17Nguyên tắc xây dựng GUI trong java
Lựa chọn 1 container: Frame/JFrame, Window/JWindow,
Dialog/JDialog, …
Tạo các điều khiển: (buttons, text areas )
Đưa các điều khiển vào vùng chứa
Sắp xếp các điều khiển(layout)
Thêm các xử lý sự kiện (Listeners)
Trang 18 Là trình quản lý layout mặc định cho các applet và các panel
Với FlowLayout các thành phần sẽ được xắp xếp từ góc trái trên đến góc phải dưới của màn hình
Các constructor:
// Canh lề bên phải
Trang 19Flow Layout – Left and Right Aligned
Trang 20 Là trình quản lý layout mặc định cho Window, Frame và Dialog
Trình quản lý này có thể xắp xếp đến 5 thành phần trong
container
Các thành phần có thể được đặt vào 5 hướng NORTH, EAST, SOUTH, WEST và CENTER của container
Ví dụ: Để thêm một thành phần vào vùng North của container
Trang 21BorderLayout
Trang 24 Lớp ‘GridBagLayoutConstraints’
lưu trữ tất cả các thông tin mà lớp
GridLayout yêu cầu: Vị trí và kích
thuớc mỗi thành phần
Trang 25• Tự do trong việc định vị trí và kích thước của các components
Frame fr = new Frame("NullLayout Demo");
fr.setLayout(null);
Trang 26Mô hình xử lý sự kiện
Có 3 yếu tố quan trọng trong mô hình xử lý sự kiện:
Sự kiện (event object)
Bộ lắng nghe sự kiện (event listener)
Trang 27Mô hình xử lý sự kiện
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
{
…
}
Trang 28Hành động, sự kiện, lắng nghe
Trang 29Tổng quan về event của AWT, Swing
java.awt.event.*
javax.swing.event.*
Trang 30Bài thực hành
Viết chương trình minh họa việc sử dụng các đối tượng
components, đối tượng khung chứa container, bộ quản lý trình bày Layout Manager
Viết chương trình xây dựng giao diện chương trình máy tính cá nhân tương tự chương trình Calculator trên windows
Viết chương trình xây dựng giao diện tương tự giao diện của trình ứng dụng MS WordPad trên Windows
Viết chương trình xây dựng giao diện chương trình tương tự Windows Explorer