最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java圖形界面GUI布局方式(小結(jié))

 更新時(shí)間:2021年04月22日 10:50:59   作者:SmallSweets  
這篇文章主要介紹了Java圖形界面GUI布局方式(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

流式布局

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

示例:

在這里插入圖片描述

代碼

public class Test {
	public static void main(String[] args) {
//		創(chuàng)建窗口
		JFrame jFrame = new JFrame();
//		設(shè)置窗口名稱
		jFrame.setTitle("hello");
//		創(chuàng)建流式布局管理器 對(duì)齊方式為左對(duì)齊
		LayoutManager layout = new FlowLayout(FlowLayout.LEFT);
//		關(guān)閉窗口結(jié)束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		創(chuàng)建內(nèi)容面板
		Container contentpage = jFrame.getContentPane();
//		設(shè)置內(nèi)容面板布局方式為流布局
		contentpage.setLayout(layout);
//		創(chuàng)建按鈕
		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");
//		設(shè)置按鈕大小
		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));
//		設(shè)置按鈕背景顏色
		button1.setBackground(Color.red);
		button2.setBackground(Color.blue);
		button3.setBackground(Color.pink);
		button4.setBackground(Color.orange);
		button5.setBackground(Color.yellow);
//		將按鈕添加到內(nèi)容面板中
		contentpage.add(button1);
		contentpage.add(button2);
		contentpage.add(button3);
		contentpage.add(button4);
		contentpage.add(button5);
//		設(shè)置窗口大小
		jFrame.setSize(500, 300);
//		設(shè)置窗口可見(jiàn)
		jFrame.setVisible(true);	
	}
}

邊界布局

采用邊界布局會(huì)將元素分別劃分到東,西,中,南,北五個(gè)方位,分別使用EAST,WEST,CENTER,SOUTH,NORTH標(biāo)識(shí),每個(gè)方位只能放一個(gè)元素

示例

在這里插入圖片描述

代碼

public class Test {
	public static void main(String[] args) {
//		創(chuàng)建窗口
		JFrame jFrame = new JFrame();
//		設(shè)置窗口名稱
		jFrame.setTitle("hello");
//		創(chuàng)建邊界布局管理器
		BorderLayout layout = new BorderLayout();
//		關(guān)閉窗口結(jié)束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		創(chuàng)建內(nèi)容面板
		Container contentpage = jFrame.getContentPane();
//		設(shè)置內(nèi)容面板布局方式為流布局
		contentpage.setLayout(layout);
//		創(chuàng)建按鈕
		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");
//		設(shè)置按鈕背景顏色
		button1.setBackground(Color.red);
		button2.setBackground(Color.blue);
		button3.setBackground(Color.pink);
		button4.setBackground(Color.orange);
		button5.setBackground(Color.yellow);
//		將按鈕添加到內(nèi)容面板中
//		將按鈕放置到北部
		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);
//		設(shè)置窗口大小
		jFrame.setSize(500, 300);
//		設(shè)置窗口可見(jiàn)
		jFrame.setVisible(true);
	}
}

卡片布局

顧名思義,若一個(gè)容器使用卡片布局,其里面的所有組件就像是一副牌一樣重疊在一起,容器只能顯示一個(gè)組件,默認(rèn)顯示第一個(gè)組件,可以通過(guò)CardLayout中的show方法改變顯示的組件

示例

顯示第一個(gè)按鈕

在這里插入圖片描述

顯示第二個(gè)按鈕

在這里插入圖片描述

代碼

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

自定義布局

所謂自定義布局就是不使用任何布局管理器,而是我們自己通過(guò)指定組件的X坐標(biāo),Y坐標(biāo),寬度,高度來(lái)指定組件的位置

這里的坐標(biāo)和我們平時(shí)的坐標(biāo)有些區(qū)別,如下:

在這里插入圖片描述

組件是以左上角頂點(diǎn)為原點(diǎn)來(lái)定位坐標(biāo),使用自定義布局,要將容器使用的布局管理器設(shè)置為null

那有的小伙伴會(huì)問(wèn)了,既然布局管理器設(shè)置為null,那可不可以直接不設(shè)置啊,當(dāng)然不行,如果不設(shè)置的話,組件會(huì)不顯示

示例

在這里插入圖片描述

代碼

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

到此這篇關(guān)于Java圖形界面GUI布局方式(小結(jié))的文章就介紹到這了,更多相關(guān)Java GUI布局內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot集成FTP與SFTP連接池流程

    SpringBoot集成FTP與SFTP連接池流程

    在項(xiàng)目開(kāi)發(fā)中,一般文件存儲(chǔ)很少再使用SFTP服務(wù),但是也不排除合作伙伴使用SFTP來(lái)存儲(chǔ)項(xiàng)目中的文件或者通過(guò)SFTP來(lái)實(shí)現(xiàn)文件數(shù)據(jù)的交互,這篇文章主要介紹了SpringBoot集成FTP與SFTP連接池
    2022-12-12
  • Java?-jar參數(shù)詳解之掌握J(rèn)ava可執(zhí)行JAR文件的運(yùn)行技巧

    Java?-jar參數(shù)詳解之掌握J(rèn)ava可執(zhí)行JAR文件的運(yùn)行技巧

    做項(xiàng)目的時(shí)候我們肯定接觸過(guò)很多jar包,下面這篇文章主要給大家介紹了關(guān)于Java?-jar參數(shù)詳解之掌握J(rèn)ava可執(zhí)行JAR文件的運(yùn)行技巧,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 解析Linux系統(tǒng)中JVM內(nèi)存2GB上限的詳解

    解析Linux系統(tǒng)中JVM內(nèi)存2GB上限的詳解

    本篇文章是對(duì)Linux系統(tǒng)中JVM內(nèi)存2GB上限進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Maven多模塊之父子關(guān)系的創(chuàng)建

    Maven多模塊之父子關(guān)系的創(chuàng)建

    這篇文章主要介紹了Maven多模塊之父子關(guān)系的創(chuàng)建,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java Socket實(shí)現(xiàn)UDP編程淺析

    Java Socket實(shí)現(xiàn)UDP編程淺析

    類(lèi) DatagramSocket 何 DatagramPacket(數(shù)據(jù)包/數(shù)據(jù)報(bào)) 實(shí)現(xiàn)了基于 UDP協(xié)議網(wǎng)絡(luò)程序;UDP數(shù)據(jù)報(bào)通過(guò)數(shù)據(jù)報(bào)套接字 DatagramSocket 發(fā)送和接收,系統(tǒng)不保證 UDP數(shù)據(jù)報(bào)一定能夠安全送達(dá)目的地,也不確定什么時(shí)候可以抵達(dá)
    2022-11-11
  • Mybatis多線程下如何使用Example詳解

    Mybatis多線程下如何使用Example詳解

    這篇文章主要給大家介紹了關(guān)于Mybatis多線程下如何使用Example的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • springboot如何讀取sftp的文件

    springboot如何讀取sftp的文件

    這篇文章主要介紹了springboot如何讀取sftp的文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringMVC處理器映射器HandlerMapping詳解

    SpringMVC處理器映射器HandlerMapping詳解

    這篇文章主要介紹了SpringMVC處理器映射器HandlerMapping詳解,在SpringMVC中會(huì)有很多請(qǐng)求,每個(gè)請(qǐng)求都需要一個(gè)HandlerAdapter處理,具體接收到一個(gè)請(qǐng)求之后使用哪個(gè)HandlerAdapter進(jìn)行處理呢,他們的過(guò)程是什么,需要的朋友可以參考下
    2023-09-09
  • 如何使用Spring Batch進(jìn)行批處理任務(wù)管理

    如何使用Spring Batch進(jìn)行批處理任務(wù)管理

    本文介紹了如何配置Spring Batch、如何創(chuàng)建批處理任務(wù),以及如何讀取和寫(xiě)入數(shù)據(jù),希望通過(guò)本文的介紹,你能更好地理解和使用Spring Batch來(lái)管理批處理任務(wù),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Spring Boot2發(fā)布調(diào)用REST服務(wù)實(shí)現(xiàn)方法

    Spring Boot2發(fā)布調(diào)用REST服務(wù)實(shí)現(xiàn)方法

    這篇文章主要介紹了Spring Boot2發(fā)布調(diào)用REST服務(wù)實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論

鄯善县| 四会市| 万州区| 台湾省| 定兴县| 环江| 明溪县| 巫山县| 云浮市| 新田县| 濮阳市| 宁蒗| 宁南县| 海阳市| 和龙市| 勃利县| 甘谷县| 康马县| 萍乡市| 板桥市| 金坛市| 安康市| 章丘市| 桑日县| 天台县| 古蔺县| 井陉县| 永城市| 昭通市| 潜山县| 乐山市| 沿河| 靖宇县| 浠水县| 邻水| 靖州| 龙泉市| 四会市| 习水县| 陇南市| 枞阳县|