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ạ.
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).
Ư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
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
Ư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ỡ.
Sử dụng Grid Layout trong NetBeans
Chuột phải vào container -> chọn Set Layout -> chọn Grid Layout
Chỉ định số dòng và số cột
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)
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í
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.
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
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.