標題:
佈局元件 - GridLayout
[打印本頁]
作者:
tonyh
時間:
2017-9-15 20:11
標題:
佈局元件 - GridLayout
本帖最後由 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();
}
}
複製代碼
作者:
李知易
時間:
2017-9-15 20:37
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.GridLayout;
public class Ch105 {
JFrame fm;
JButton b1,b2,b3,b4,b5,b6;
Ch105()
{
JButton b1=new JButton("我換換");
b1.setBounds(0,0,100,100);
b1.setSize(100,100);
JButton b2=new JButton("我換換換");
JButton b3=new JButton("我換換換換");
JButton b4=new JButton("我換換換換換");
JButton b5=new JButton("我換換換換換換");
JButton b6=new JButton("我換換換換換換換");
JFrame fm=new JFrame("FlowLayout");
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));
fm.add(b1);
fm.add(b2);
fm.add(b3);
fm.add(b4);
fm.add(b5);
fm.add(b6);
}
public static void main(String[] args) {
new Ch105();
}
}
複製代碼
作者:
洪振庭
時間:
2017-9-15 20:42
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.GridLayout;
public class Ch113 {
JFrame fm;
JButton btn1,btn2,btn3,btn4,btn5,btn6;
Ch113()
{
JButton btn1=new JButton("x 456 x");
JButton btn3=new JButton(" ______/* ____ ");
JButton btn4=new JButton("_____ _______________");
JButton btn5=new JButton(" 1 1 1 ");
JButton btn6=new JButton(" 1 1 4 1 4 ");
JButton btn2=new JButton(" 1 8 7 12 ");
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(6,1, 5, 7));
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 Ch113();
}
}
複製代碼
作者:
黃璽安
時間:
2017-9-15 20:45
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);
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));
new GridLayout();
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();
}
}
複製代碼
作者:
陳思惟
時間:
2017-9-15 20:59
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();
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2