流式佈局練習代碼(FlowLayout
)
- 代碼部分
package top.linksinke.jframe;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
/**
* swing佈局練習:流式佈局<br />
* create by LINKSINKE on 2020/2/27
*/
public class FlowLayoutTest extends JFrame {
public FlowLayoutTest() throws HeadlessException {
// 設置窗口默認打開的x、y座標及其打開後的窗口大小
this.setBounds(10, 10, 400, 400);
// 設置close關閉按鈕的操作,關閉窗口和停止程序運行
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 設置窗口顯示的標題內容
this.setTitle("o(∩_∩)o 哈哈");
// 設置是否顯示窗口
this.setVisible(true);
}
public static void main(String[] args) {
JFrame jframe = new FlowLayoutTest();
// 獲取窗口的容器對象
Container ctainer = jframe.getContentPane();
// 設置窗口的佈局方式爲流式佈局
ctainer.setLayout(new FlowLayout());
// 循環添加10個按鈕
for (int i = 0; i < 10; i++) {
JButton jbtn = new JButton("按鈕" + i);
ctainer.add(jbtn);
}
}
}
- 代碼效果圖
邊界佈局練習代碼(BorderLayout
)
- 代碼部分
package top.linksinke.jframe;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
* swing 佈局練習:邊界佈局<br />
* create by LINKSINKE on 2020/2/27
*/
public class BorderLayoutTest extends JFrame {
public BorderLayoutTest() {
// 設置窗口打開的x、y座標及打開後的窗口大小
this.setBounds(200, 50, 500, 220);
// 設置close關閉按鈕的操作(關閉窗口和停止程序運行)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 設置是否顯示窗口(true:表示顯示窗口,false:表示不顯示窗口)
this.setVisible(true);
}
public static void main(String args[]) {
BorderLayoutTest blt = new BorderLayoutTest();
// 獲取blt窗口的容器對象
Container ctainer = blt.getContentPane();
// 設置佈局方式爲邊界佈局
ctainer.setLayout(new BorderLayout());
// 創建五個按鈕並設置他們的顯示位置(重複的會覆蓋之前的)
ctainer.add(new JButton("東邊的按鈕"), BorderLayout.EAST);
ctainer.add(new JButton("北邊的按鈕"), BorderLayout.NORTH);
ctainer.add(new JButton("南邊的按鈕"), BorderLayout.SOUTH);
ctainer.add(new JButton("西邊的按鈕"), BorderLayout.WEST);
ctainer.add(new JButton("中間的按鈕"), BorderLayout.CENTER);
// 覆蓋測試
ctainer.add(new JButton("我來覆蓋一下中間的按鈕"), BorderLayout.CENTER);
}
}
- 代碼效果圖
網格佈局練習代碼(GridLayout
)
- 代碼部分
package top.linksinke.jframe;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
* swing佈局練習:網格佈局<br />
* create by LINKSINKE on 2020/2/27
*/
public class GridLayoutTest extends JFrame {
public GridLayoutTest() {
// 設置默認窗口打開的x、y座標位置以及打開的窗口大小
this.setBounds(200, 140, 300, 500);
// 設置點擊close按鈕的操作(窗口關閉並停止程序的運行)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 設置是否顯示窗口(true:表示顯示窗口,false:表示不顯示窗口)
this.setVisible(true);
}
public static void main(String[] args) {
JFrame jframe = new GridLayoutTest();
// 獲取jframe的容器對象
Container ctainer = jframe.getContentPane();
// 設置窗口的佈局方式爲網格佈局
ctainer.setLayout(new GridLayout(5, 4));// 網格行爲5,列爲4
for (int i = 0; i < 20; i++) {
ctainer.add(new JButton("標籤" + i));
}
}
}
- 代碼效果圖
顯示的爲五行四列,一共20個按鈕
我們在修改一下,將循環的大小修改成300,看看是什麼效果。。。
顯示的行數量並沒有隨着高度發生變化,還是五行默認顯示,而顯示的列不再是4列了