Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Quản lý bố cục trong java

Quản lý bố cục trong java

Kiến thức hữu ích

Quản lý bố cục trong java

Quản lý bố cục trong java (Layout Managers) có nhiệm vụ quy đị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.

Hãy tìm hiểu ngay cùng R2S để biết rõ hơn về quản lý bố cục trong java khi sử dụng ngôn ngữ lập trình java này nhé!

Quản lý bố cục trong java là gì?

Trong Java, quản lý bố cục (layout manager) là một phần của GUI (Graphical User Interface) toolkit, được sử dụng để xác định cách các thành phần (components) của giao diện người dùng được sắp xếp và trình bày trên màn hình.

Java cung cấp một số layout manager sẵn có như BorderLayout, GridLayout, FlowLayout, BoxLayout, và GroupLayout. Mỗi layout manager có một cách tiếp cận khác nhau để xác định vị trí và kích thước của các thành phần.

Việc sử dụng layout manager giúp đơn giản hóa việc xây dựng giao diện người dùng và đảm bảo rằng các thành phần sẽ tự động điều chỉnh khi kích thước cửa sổ hoặc nội dung thay đổi.

Ví dụ, khi sử dụng BorderLayout, các thành phần được đặt ở các vị trí sau đây: trung tâm, bắc, nam, đông và tây. Khi sử dụng GridLayout, các thành phần được xếp thành một lưới với số hàng và cột xác định.

Điều này cho phép phát triển ứng dụng GUI linh hoạt và dễ dàng tương thích với nhiều kích thước và độ phân giải màn hình khác nhau.

Flowlayout Manager của quản lý bố cục trong java

FlowLayout Manager là một trong các loại quản lý bố cục (layout manager) được sử dụng trong việc đặt các thành phần (components) trong một container trên giao diện người dùng của ứng dụng Java Swing.

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ạ.

Flowlayout Manager tự động căn chỉnh và tự động xếp chồng các thành phần khi không đủ không gian để hiển thị hết. Nó cũng cho phép chỉ định vị trí cụ thể cho các thành phần (left, center, right) trong trường hợp không đủ không gian để hiển thị tất cả các thành phần.

Quản lý bố cục trong java

Sử dụng Flowlayout 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 Flowlayout (Lưu ý sau khi chọn bố cục là Flowlayout, 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).

Quản lý bố cục trong java

Ưu và nhược điểm của Flowlayout 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.

Borderlayout Manager của quản lý bố cục trong java

BorderLayout là một trình quản lý bố trí trong Java Swing, được sử dụng để chia phần tử giao diện thành năm vùng: phía trên (north), phía dưới (south), phía trái (west), phía phải (east) và vùng trung tâm (center). Mỗi vùng này có thể chứa một thành phần duy nhất và các thành phần sẽ được căn chỉnh theo vùng tương ứng.

Hình ảnh bên dưới là một ví dụ về Border Layout

Quản lý bố cục trong java

Sử dụng Borderlayout trong NetBeans

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

Quản lý bố cục trong java

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

Border Layout 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 Border Layout, chúng ta chỉ có tối đa 5 vị trí trong một container.

Grid Layout Manager của quản lý bố cục trong java

Grid Layout Manager được sử dụng để tạo ra một lưới dạng hình chữ nhật chia bố cục màn hình thành các hàng và cột, giúp sắp xếp và căn chỉnh các thành phần trong ứng dụng di động một cách dễ dàng và linh hoạt. Một số mục tiêu cụ thể khi sử dụng Grid Layout Manager có thể bao gồm:

Xây dựng giao diện người dùng có cấu trúc rõ ràng và chuyên nghiệp: Sử dụng Grid Layout Manager để tạo ra các ô lưới với kích thước và vị trí xác định cho từng phần tử, giúp giao diện trở nên có cấu trúc và dễ đọc hơn.

Tối ưu hóa sử dụng không gian màn hình: Grid Layout Manager cho phép xác định kích thước và vị trí cho từng phần tử và tự động căn chỉnh chúng trên màn hình. Điều này giúp tối ưu hóa sử dụng không gian màn hình, đồng thời giúp người dùng trải nghiệm một giao diện mượt mà và dễ sử dụng.

Đảm bảo tính tương thích đa nền tảng: Sử dụng Grid Layout Manager, bạn có thể xây dựng giao diện di động linh hoạt và tương thích với nhiều kích thước màn hình khác nhau, từ điện thoại thông minh đến máy tính bảng. Điều này giúp đảm bảo rằng ứng dụng của bạn có thể chạy trên nhiều thiết bị đa dạng một cách nhất quán.

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ỡ.

Quản lý bố cục trong java

Sử dụng Grid Layout trong NetBeans

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

Quản lý bố cục trong java

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

Quản lý bố cục trong java

Box Layout Manager của quản lý bố cục trong java

BoxLayout Manager là một trong những Layout Manager được sử dụng trong Java Swing. Nó cho phép các thành phần của giao diện người dùng được sắp xếp theo hàng ngang hoặc hàng dọc trong các container như JFrame, JPanel. BoxLayout không hỗ trợ việc chia các không gian cho các thành phần con theo tỷ lệ, nhưng nó cho phép căn chỉnh các thành phần theo các quy tắc như căn đều, căn lề, căn trung tâm, căn theo chiều dọc hoặc chiều ngang.

BoxLayout có hai hướng chính để sắp xếp các thành phần: theo chiều dọc và chiều ngang. Khi sử dụng BoxLayout theo chiều dọc, các thành phần được sắp xếp từ trên xuống dưới; còn khi sử dụng BoxLayout theo chiều ngang, các thành phần được sắp xếp từ trái qua phải.

Box Layout giống 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)

Flow Layout

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í

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.

Group Layout

Một số bài tập thực hành của quản lý bố cục trong java

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

Thiết kế giao diện ứng dụng

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

2.1 Khi người dùng nhấp chuột vào 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 nhấp chuột vào 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 báo phù hợp nếu một text field chưa nhập giá trị. Nếu người dùng đã nhập các 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à sẽ hiển thị thông báo đã lưu thành công.

2.3. Khi nhấn vào nút “Exit” , ứ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.

Kết luận bài viết các thành phần cơ bản trong Swing

Như vậy, qua bài viết về quản lý bố cục trong java trên đây, R2S chúng tôi đã giúp bạn hiểu được về Flowlayout Manager , Borderlayout Manager, Grid Layout Manager, Box Layout Manager

Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để học thêm nhiều kiến thức hữu ích về lập trình giao diện trong lập trình java nhé.

Hãy đến website của R2S để tìm hiểu sâu hơn vào lập trình và công nghệ thông tin để có nhiều kiến thức hay về nó hơn nha. 

Bài viết gốc được đăng tải tại giasutinhoc.vn

Alert: You are not allowed to copy content or view source !!