FlowLayout trong Java Swing

FlowLayout là layout mặc định trong Java Swing.

FlowLayout có cách sắp xếp các thành phần trong giao diện giống với cách mà bạn viết trên giấy, chữ này kế tiếp chữ kia và hết hàng thì xuống dòng 😉

Chúng ta cùng đi vào một ví dụ đơn giản : Xây dựng ứng dụng có 7 Button, sắp xếp các JButton trong giao diện chương trình sử dụng FlowLayout

Code :

 
package kynangcntt.info;

import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.*;


public class KynangcnttInfo extends JFrame {
 //Khai báo JPanel jp
 JPanel jp=new JPanel();
//Khai báo các JButton
 JButton btn1=new JButton("1");
 JButton btn2=new JButton("2");
 JButton btn3=new JButton("3");
 JButton btn4=new JButton("4");
 JButton btn5=new JButton("5");
 JButton btn6=new JButton("6");
 JButton btn7=new JButton("7");
 
 public KynangcnttInfo(String title){
 
 super(title);
 // Set Layout cho JPanel jp
 jp.setLayout(new FlowLayout());
// Thêm các JButton vào giao diện
 jp.add(btn1);
 jp.add(btn2);
 jp.add(btn3);
 jp.add(btn4);
 jp.add(btn5);
 jp.add(btn6);
 jp.add(btn7);
 
 // Khai báo Container ctn, thêm JPanel jp vào Container ctn
 Container ctn=getContentPane();
 ctn.add(jp);
 }
 // Hàm main khai báo đối tượng của Lớp giao diện chương trình KynangcnttInfo
// Set các thuộc tính cho đối tượng
 public static void main(String[] args) {
 
 KynangcnttInfo obj=new KynangcnttInfo("kynangcntt.info");
 obj.setSize(240,160);
 obj.setVisible(true);
 obj.setDefaultCloseOperation(EXIT_ON_CLOSE);

 }
 
}

Khởi chạy Project và ta được Chương trình như hình :

FlowLayout

Các JButton được sắp xếp vào Container thành 2 dòng theo chiều trái sang phải.

Kéo giãn của sổ Chương trình theo chiều ngang ta sẽ thấy các JButton giờ chỉ xếp trên một dòng.

Flow 2

Như vậy, đến đây bạn đã hiểu được cách sắp xếp các Component trong giao diện khi dùng FlowLayout.

Bài tiếp theo chúng ta sẽ tìm hiểu về BoxLayout trong Java Swing