NGÔN NGỮ LẬP TRÌNH JAVA
Giảng viên : Nguyễn Thu Hà
CHƯƠNG 8: LẬP TRÌNH GIAO DIỆN
Trong lớp thư viện của Java có gói Swing.
Swing là bộ công cụ giao diện người dùng,
nằm trong gói javax.swing, bao gồm các
thành phần cơ bản (component ) để xây
dựng giao diện đồ hoạ như : windows,
buttons, combo box, trees, table, và menu và
xử lý các điều khiển cho thiết bị nhập như :
chuột, bàn phím và các thiết bị nhập khác.
Sử dụng Swing để tạo các ứng dụng như sau:
Frames: Cửa sổ bao gồm thanh tiêu
đề( titlebar ), thanh thực đơn ( menubar), và
các nút phóng to ( maximize ), thu nhỏ
(minimize ) và đóng(close )
Buttons: Các nút lệnh
Label: Các nhãn
Textfile và textarea: ô văn ban và vùng văn
ban
Drop down –list: Danh sách
Checkbox and radio buttons: Hộp chọn
….
1. Tạo các ứng dụng:
Để sử dụng lớp Swing, dùng câu lệnh import :
Import javax.swing.*;
Để các thành phần có thể hiện lên trong giao
diện người dùng, bắt buộc phải thêm (add )
chúng vào khung chứa,nó là lớp con của lớp
java.awt.Container. Lớp này bao gồm các
phương thức để thêm hoặc gỡ bỏ các thành
phần trên container.
Import java.awt.event.*;
2. Tạo một giao diện
Bước đầu tiên để tạo một ứng dụng Swing là
tạo một khung chứa để biểu diễn các đối
tượng đồ hoạ lên nó:windows,
JFrame,Applet, ScrollPane, Dialog, Panel..
Cửa sổ được hiển thị trên desktop của người
dùng. Một cửa sổ đơn giản không nhất thiết
phải có thanh tiêu đề ( thanh tiêu đề bao gồm
nút phóng to, thu nhỏ và đóng . Trong Swing,
cửa sổ bao gồm những đặc trưng trên được
gọi là frames.)
2.1 Tạo cửa sổ
1. Frame:
Frame là một cửa sổ có thanh tiêu đề
Tạo giao diện Frame bằng cách:
Public class Simpletest extends JFrame{
// body
}
Lớp JFrame có 2 phương thức khởi dụng là
JFrame() và JFrame(String ):Hiển thị tiêu đề.
Các phương thức khác:
setVisible(boolean ): Để chế độ ẩn hay hiện
setBounds(int,int,int,int): Toạ độ góc trên, góc
dwis của cửa sổ
setSize(int, int ) để truyền vào 2 tham số là
chiều dài và chiều cao của Frame.
Đặt thuộc tính cho Frame khi đóng dùng mẫu sau:
setDefaultCloseOperation(JFrame.thuộc tính);
Các thuộc tính bao gồm:
EXIT_ON_CLOSE—Thoát ứng dụng khi Frame bị
đóng
DISPOSE_ON_CLOSE—Đóng Frame, di chuyển
đối tượng Frame khỏi bộ nhớ, và chạy ứng dụng
DO_NOTHING_ON_CLOSE—Vẫn mở Frame và
tiếp tục chạy
HIDE_ON_CLOSE—Đóng Frame và tiếp tục chạy.
Bài tập ví dụ: Tạo một Frame có kích thước 200,200
nằm ở góc trái trên cùng màn hình (Simpleframe)
Bài tập : Tạo nhiều frame nằm trong 1 frame
chính(Desktop)
Bài tập ví dụ: Tạo cửa sổ Simplewindow
2. Thêm các thành phần vào khung chứa
Panel là một khung chứa, dùng để chứa và
nhóm các đối tượng con khác lại với nhau.
Panel được tạo bởi lớp Jpanel.
Cách thêm thành phần vào panel: ( dùng câu
lệnh add)
Jpanel panel=new Jpanel();
panel.add(text1); // thêm ô văn ban vào
panel
panel.add(button1); // thêm nút vào panel
3. Tạo các thành phần giao diện
3.1 Button
Button được tạo bởi lớp JButton . Để tạo một nút có
thể dùng một trong các phương thức sau đây:
JButton(String)—Nhãn là chuỗi ký tự
JButton(Icon)— Hiện lên một biểu tượng
JButton(String, Icon)— Cả chuỗi ký tự và biểu
tượng
Ví dụ:
JButton exit = new JButton(“Exit”);
Cách thêm buttons vào container (dùng từ khoá add)
JPanel panel = new JPanel();
panel.add(exit);
Bài tập ví dụ:ButtonSimple
3.2 Nhãn
Nhãn được dùng khi thể hiện chuỗi ký tự, biểu tượng
hoặc cả hai. Nhãn được tạo bởi lớp JLabel
JLabel(String)—Nhãn có chuỗi
JLabel(String, int)—Nhãn có chuỗi ký tự và căn lề
JLabel(String, Icon, int)—Nhãn có chuỗi ký tự, biểu
tượng và căn lề
Ví dụ:
JLabel label1 = new JLabel(“Label1”);
Bài tập ví dụ:Labelframe