Java圖形界面GUI佈局方式(小結)

流式佈局

采用流式佈局會將元素按從左到右的順序排列,如果一個元素在一行中放不下,那這個元素會另起一行依然按照從左到右的順序排列

示例:

在這裡插入圖片描述

代碼

public class Test {
	public static void main(String[] args) {
//		創建窗口
		JFrame jFrame = new JFrame();
//		設置窗口名稱
		jFrame.setTitle("hello");
//		創建流式佈局管理器 對齊方式為左對齊
		LayoutManager layout = new FlowLayout(FlowLayout.LEFT);
//		關閉窗口結束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		創建內容面板
		Container contentpage = jFrame.getContentPane();
//		設置內容面板佈局方式為流佈局
		contentpage.setLayout(layout);
//		創建按鈕
		JButton button1 = new JButton("1");
		JButton button2 = new JButton("2");
		JButton button3 = new JButton("3");
		JButton button4 = new JButton("4");
		JButton button5 = new JButton("5");
//		設置按鈕大小
		button1.setPreferredSize(new Dimension(100,100));
		button2.setPreferredSize(new Dimension(100,100));
		button3.setPreferredSize(new Dimension(100,100));
		button4.setPreferredSize(new Dimension(100,100));
		button5.setPreferredSize(new Dimension(100,100));
//		設置按鈕背景顏色
		button1.setBackground(Color.red);
		button2.setBackground(Color.blue);
		button3.setBackground(Color.pink);
		button4.setBackground(Color.orange);
		button5.setBackground(Color.yellow);
//		將按鈕添加到內容面板中
		contentpage.add(button1);
		contentpage.add(button2);
		contentpage.add(button3);
		contentpage.add(button4);
		contentpage.add(button5);
//		設置窗口大小
		jFrame.setSize(500, 300);
//		設置窗口可見
		jFrame.setVisible(true);	
	}
}

邊界佈局

采用邊界佈局會將元素分別劃分到東,西,中,南,北五個方位,分別使用EAST,WEST,CENTER,SOUTH,NORTH標識,每個方位隻能放一個元素

示例

在這裡插入圖片描述

代碼

public class Test {
	public static void main(String[] args) {
//		創建窗口
		JFrame jFrame = new JFrame();
//		設置窗口名稱
		jFrame.setTitle("hello");
//		創建邊界佈局管理器
		BorderLayout layout = new BorderLayout();
//		關閉窗口結束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		創建內容面板
		Container contentpage = jFrame.getContentPane();
//		設置內容面板佈局方式為流佈局
		contentpage.setLayout(layout);
//		創建按鈕
		JButton button1 = new JButton("1");
		JButton button2 = new JButton("2");
		JButton button3 = new JButton("3");
		JButton button4 = new JButton("4");
		JButton button5 = new JButton("5");
//		設置按鈕背景顏色
		button1.setBackground(Color.red);
		button2.setBackground(Color.blue);
		button3.setBackground(Color.pink);
		button4.setBackground(Color.orange);
		button5.setBackground(Color.yellow);
//		將按鈕添加到內容面板中
//		將按鈕放置到北部
		contentpage.add(button1,BorderLayout.NORTH);
//		將按鈕放置到南部
		contentpage.add(button2,BorderLayout.SOUTH);
//		將按鈕放置到西部
		contentpage.add(button3,BorderLayout.WEST);
//		將按鈕放置到東部
		contentpage.add(button4,BorderLayout.EAST);
//		將按鈕放置到中心
		contentpage.add(button5,BorderLayout.CENTER);
//		設置窗口大小
		jFrame.setSize(500, 300);
//		設置窗口可見
		jFrame.setVisible(true);
	}
}

卡片佈局

顧名思義,若一個容器使用卡片佈局,其裡面的所有組件就像是一副牌一樣重疊在一起,容器隻能顯示一個組件,默認顯示第一個組件,可以通過CardLayout中的show方法改變顯示的組件

示例

顯示第一個按鈕

在這裡插入圖片描述

顯示第二個按鈕

在這裡插入圖片描述

代碼

public class Test {
	public static void main(String[] args) {
//			創建窗口
		JFrame jFrame = new JFrame();
//			設置窗口名稱
		jFrame.setTitle("hello");
//			創建卡片佈局管理器
		CardLayout layout = new CardLayout();
//			關閉窗口結束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//			創建面板
		JPanel jPanel = new JPanel();
//			設置面板佈局方式為卡片佈局
		jPanel.setLayout(layout);
//			添加 按鈕 設置背景顏色
		JButton jButton1 = new JButton();
		jButton1.setBackground(Color.pink);
		JButton jButton2 = new JButton();
		jButton2.setBackground(Color.yellow);
//			將按鈕添加到面板中並對按鈕進行命名
		jPanel.add(jButton1,"bt1");
		jPanel.add(jButton2,"bt2");
//			指定在面板上顯示的按鈕
		layout.show(jPanel, "bt2");
//			將面板添加到窗口中
		jFrame.add(jPanel);
//			設置窗口大小
		jFrame.setSize(500,300);
//			設置窗口可見
		jFrame.setVisible(true);
	}
}

自定義佈局

所謂自定義佈局就是不使用任何佈局管理器,而是我們自己通過指定組件的X坐標,Y坐標,寬度,高度來指定組件的位置

這裡的坐標和我們平時的坐標有些區別,如下:

在這裡插入圖片描述

組件是以左上角頂點為原點來定位坐標,使用自定義佈局,要將容器使用的佈局管理器設置為null

那有的小夥伴會問瞭,既然佈局管理器設置為null,那可不可以直接不設置啊,當然不行,如果不設置的話,組件會不顯示

示例

在這裡插入圖片描述

代碼

public class Test {
	public static void main(String[] args) {
//				創建窗口
		JFrame jFrame = new JFrame();
//				設置窗口名稱
		jFrame.setTitle("hello");
//				關閉窗口同時結束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//				創建面板
		JPanel jPanel = new JPanel();
//		使用自定義佈局,將容器使用的佈局管理器設置為null
		jPanel.setLayout(null);
//				添加 按鈕 設置背景顏色
		JButton jButton1 = new JButton();
		jButton1.setBackground(Color.pink);
		JButton jButton2 = new JButton();
		jButton2.setBackground(Color.yellow);
//		設置按鈕的坐標為(100,100) ,寬度為100,高度為100
		jButton1.setBounds(new Rectangle(100,100,100,100));
//		設置按鈕的坐標為(220,70) ,寬度為100,高度為100
		jButton2.setBounds(new Rectangle(220,70,100,100));
//				將按鈕添加到面板中
		jPanel.add(jButton1);
		jPanel.add(jButton2);
//				將面板添加到窗口中
		jFrame.add(jPanel);
//				設置窗口大小
		jFrame.setSize(500,300);
//				設置窗口可見
		jFrame.setVisible(true);
	}
}

到此這篇關於Java圖形界面GUI佈局方式(小結)的文章就介紹到這瞭,更多相關Java GUI佈局內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!