Java中提供了FlowLayout和GridLayout兩種布局方式,適用于不同的場景。
import javax.swing.*;
import java.awt.*;
public class FlowGridLayoutExample {
public static void main(String[] args) {
// 流布局
JFrame frame1 = new JFrame("FlowLayout Example");
JPanel panel1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); // 左對齊
panel1.add(new JButton("Button 1"));
panel1.add(new JButton("Button 2"));
panel1.add(new JButton("Button 3"));
frame1.setContentPane(panel1);
frame1.setSize(300, 100);
frame1.setLocationRelativeTo(null);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setVisible(true);
// 網格布局
JFrame frame2 = new JFrame("GridLayout Example");
JPanel panel2 = new JPanel(new GridLayout(3, 3)); // 3行3列
for (int i = 1; i<= 9; i++) {
panel2.add(new JButton("Button " + i));
}
frame2.setContentPane(panel2);
frame2.setSize(300, 300);
frame2.setLocationRelativeTo(null);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setVisible(true);
}
}
FlowLayout適用于需要將組件按照一定的順序排列的場景,例如工具欄、標簽頁等;GridLayout適用于需要將組件按照行列排列的場景,例如表格、圖標布局等。在使用時,需要注意設置布局的行列數量、組件的對齊方式、間距等相關屬性,以達到最佳的展示效果。