Quản lý bố cục trong java (Bài 3)

Quản lý bố cục trong java (Layout Managers) có nhiệm vụ qui định vị trí và kích thước của các thành phần trong giao diện đồ hoạ (GUI). Tất cả các container có một bộ quản lý bố cục mặc định, ví dụ JFrame mặc định là BorderLayout.

Khi container được thay đổi kích cỡ, quản lý bố cục có nhiệm vụ tính toán vị trí mới và kích thước của các thành phần theo yêu cầu.

Quản lý bố cục trong java – Flow Layout Manager

Bố cục Flow Layout bố trí các thành phần theo thứ tự từ trái qua phải. Nếu không đủ không gian, nó sẽ xuống dòng và tiếp tục bố trí các thành phần từ trái qua phải cho đến khi nào hiển thị hết các thành phần giao diện đồ hoạ.

quan ly bo cuc trong java 2

Sử dụng Flow Layout trong NetBeans

Sử dụng chế độ thiết kế (Design), chuột phải vào container (ví dụ JFrame) -> chọn Set Layout -> chọn Flow Layout (Lưu ý sau khi chọn bố cục là Flow Layout, bộ quản lý bố cục sẽ bố trí các thành phần theo thứ tự từ trái qua phải như diễn giải ở trên).

quan ly bo cuc trong java 1

Ưu và nhược điểm của Flow Layout Manager

Ưu điểm của Flow Layout là sử dụng đơn giản, tuy nhiên nếu container bị thay đổi kích cỡ một số thành phần có thể chuyển lên trên hoặc chuyển xuống dưới tuỳ thuộc vào chiều ngang.

Quản lý bố cục trong java – Border Layout Manager

Border Layout bố trí các thành phần giao diện theo các biên với các vị trí trên (north), dưới (south), trái (west), phải (east) và ở giữa (center). Hình bên dưới là một ví dụ về Border Layout

quan ly bo cuc trong java 4

Sử dụng Border Layout trong NetBeans

Tương tự như cách sử dụng Flow Layout, ngoại trừ chọn Border Layout

quan ly bo cuc trong java 3

Ưu và nhược điểm của Border Layout Manager

Border Lyaout cho phép chỉ định trực tiếp nơi mà một thành phần được đặt. Tuy nhiên khi sử dụng Borde rLayout, chúng ta chỉ có tối đa 5 vị trí trong một container.

Quản lý bố cục trong java – Grid Layout Manager

Grid Layout bố trí các thành phần theo dòng và cột. Mỗi ô (nơi giao nhau của dòng và cột) trong Grid Layout có cùng kích cỡ.

quan ly bo cuc trong java 7

Sử dụng Grid Layout trong NetBeans

Chuột phải vào container -> chọn Set Layout -> chọn Grid Layout 

quan ly bo cuc trong java 5

Chỉ định số dòng và số cột

quan ly bo cuc trong java 6

Quản lý bố cục trong java – Box Layout Manager

Box Layout tương tự như Flow Layout ngoại trừ bố trí các thành phần theo cột (từ trên xuống dưới hoặc từ dưới lên trên) hoặc theo dòng (từ trái qua phải hoặc từ phải qua trái)

quan ly bo cuc trong java 9

Sử dụng Box Layout trong NetBeans

Chuột phải vào container -> chọn Set Layout -> chọn Box Layout

Lựa chọn cách bố trí

quan ly bo cuc trong java 8

Ngoài các quản lý bố cục nêu trên khi chúng ta sử dụng NetBeans để thiết kế giao diện, quản lý bố cục mặc định được sử dụng là Group Layout. GroupLayout cho phép lập trình viên đặt các thành phần theo vị trí mà họ muốn.

quan ly bo cuc trong java 10

Quản lý bố cục trong java – Bài tập thực hành

Câu 1: Thiết kế giao diện ứng dụng

quan ly bo cuc trong java 11

Câu 2: Cài đặt xử lý

2.1 Khi người dùng chọn nút “Reset“, ứng dụng sẽ thiết lập lại giá trị cho tất cả các text field là chuỗi rỗng.

2.2. Khi người dùng chọn nút “Save“, tất cả giá trị của text field phải được nhập. Chương trình sẽ hiển thị thông bao phù hợp nếu một text field chưa nhập giá trị. Nếu người dùng đã nhập giá trị cho tất cả text field, ứng dụng sẽ lưu thông tin vào một tập tin (text file) và hiển thị thông báo đã lưu thành công.

2.3. Khi nút “Exit” được chọn, ứng dụng sẽ hiển thị thông báo xác nhận và nếu người dùng chọn “Yes” ứng dụng sẽ bị đóng.