Java裏Swing的佈局練習代碼(1)

流式佈局練習代碼(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列了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章