L
L
Ậ
Ậ
P TRÌNH JAVA
P TRÌNH JAVA
Chương 6
LẬP TRÌNH GUI
GV: Võ Hoàng Phương Dung
Giới thiệu về GUI (Graphical user interface)
Vật chứa (Container)
Thành phần (Component)
Quản lý cách trình bày (Layout manager)
Xử lý các sự kiện
2/25
N
N
ộ
ộ
i dung
i dung
GUI cung cấp chức năng nhập liệu theo cách
thân thiện với người dùng
Các bộ thư viện: AWT, SWING, SWT…
phần giao diện của bạn vào đó
Gói java.awt chứa một lớp gọi là Container
Frame và Panel là các vật chứa thường được
sử dụng
• Frame là cửa sổ độc lập
• Panel là vùng nằm trong cửa sổ khác
6/25
Vật chứa (Container)
Frame: các constructor để tạo frame
• Frame(): Tạo một frame nhưng không hiển thị
(invisible)
• Frame(String title): Tạo một frame không hiển
thị, có tiêu đề
7/25
Vật chứa (Container)
Ví dụ
import java.awt.*;
public class MyFrame extends Frame {
public MyFrame(String title){
super(title);
}
public static void main(String[] args){
MyFrame myframe=new MyFrame("Hello");
myframe.setSize(300, 200);
myframe.setVisible(true);
}
Thành phần (Components)
Nhãn (Label)
• Label()
• Label(String labeltext)
• Label(String labeltext, int alignment)
12/25
Thành phần (Components)
Ô văn bản (TextField)
• TextField()
• TextField(int columns)
• TextField(String s)
• TextField(String s, int columns)
13/25
Thành phần (Components)
Vùng văn bản (TextArea)
• TextArea()
• TextArea(int rows, int cols)
14/25
Thành phần (Components)
Nút ấn (Button)
• Button()
• Button(String text)
15/25
Thành phần (Components)
Checkbox và RadioButton
• setLayout(null)
• Sử dụng các hàm thiết lập vị trí
public void setLocation(Point p)
public void setSize(Dimension p)
public void setBounds(Rectangle r)
19/25
Quản lý cách trình bày
FlowLayout manager
• ‘FlowLayout’ là layout manager mặc định cho
Applet và Panel
• Các thành phần đượ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
• Hàm thiết lập
setLayout(new FlowLayout())
setLayout(new FlowLayout(
FlowLayout.RIGHT))
20/25
Quản lý cách trình bày
BorderLayout Manager
• ‘BorderLayout’ là layout manager mặc định cho
‘Window’, ‘Frame’ và ‘Dialog’.
• Layout này xắp xếp tối đa 5 thành phần trong một
container
javax.swing.event
Event (sự kiện): là tương tác của người dùng
• Ví dụ: di chuyển chuột, nhấn phím, nhả phím v.v
24/25
Xử lý sự kiện
Event source (nguồn sự kiện): Đối tượng sản sinh
sự kiện
Bộ lắng nghe (listener): nhận và xử lý sự kiện
Nhiều bộ nghe có thể được đăng ký cho 1 đối
tượng
Một bộ nghe có thể đăng ký cho nhiều đối tượng
25/25
Xử lý sự kiện