本帖最後由 tonyh 於 2019-9-7 14:52 編輯
運用 GridLayout 佈局需留意以下事項:
1. 若容器被設為GridLayout,被丟入的元件無法設定位置與大小,大小將依容器大小而改變。
2. GridLayout 預設為一列,而物件之間的水平及垂直間距皆預設為 0 像素。
- import javax.swing.JFrame;
- import javax.swing.JButton;
- import java.awt.GridLayout;
- public class Ch114 {
-
- JFrame fm;
- JButton btn1,btn2,btn3,btn4,btn5,btn6;
- Ch114()
- {
- JButton btn1=new JButton("xxx");
- //btn1.setBounds(0, 0, 100, 100);
- //btn1.setSize(100, 100);
- //若容器被設為GridLayout,被丟入的元件則無法設定位置與大小,大小將依容器大小而改變
- JButton btn2=new JButton("xxxxxxx");
- JButton btn3=new JButton("xxxxxxxxxxx");
- JButton btn4=new JButton("xxxxxxxxx xxxxxxx");
- JButton btn5=new JButton("xxx");
- JButton btn6=new JButton("x");
-
- fm=new JFrame("GridLayout");
- fm.setBounds(100, 100, 300, 200);
- fm.setVisible(true);
- fm.setResizable(true);
- fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- fm.setLayout(new GridLayout(3,2,5,5)); //3列2欄,水平及垂直間距皆為 5 像素
- //new GridLayout() 預設為一列,而物件之間的水平及垂直間距皆預設為 0 像素
- fm.add(btn1);
- fm.add(btn2);
- fm.add(btn3);
- fm.add(btn4);
- fm.add(btn5);
- fm.add(btn6);
- }
-
- public static void main(String[] args) {
- new Ch114();
- }
- }
複製代碼 |