Java中三種常用布局方式小結(jié)
1. FlowLayout(流式布局)
- 特點(diǎn):
FlowLayout是最簡(jiǎn)單的布局管理器之一,它按照從左到右、從上到下的順序排列組件。當(dāng)一行放不下更多的組件時(shí),會(huì)自動(dòng)換行。 - 適用場(chǎng)景:適用于組件數(shù)量不多,且不需要復(fù)雜對(duì)齊的情況。
- 示例代碼:
import javax.swing.*;
import java.awt.*;
public class FlowLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("FlowLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// 設(shè)置布局管理器為FlowLayout
frame.setLayout(new FlowLayout());
// 添加組件
frame.add(new JButton("Button 1"));
frame.add(new JButton("Button 2"));
frame.add(new JButton("Button 3"));
// 顯示窗口
frame.setVisible(true);
}
}2. BorderLayout(邊界布局)
- 特點(diǎn):
BorderLayout將容器劃分為五個(gè)區(qū)域:北(North)、南(South)、東(East)、西(West)和中心(Center)。每個(gè)區(qū)域最多只能放置一個(gè)組件。 - 適用場(chǎng)景:適用于需要在窗口的固定位置放置組件的情況,如標(biāo)題欄、狀態(tài)欄等。
- 示例代碼:
import javax.swing.*;
import java.awt.*;
public class BorderLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("BorderLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// 設(shè)置布局管理器為BorderLayout
frame.setLayout(new BorderLayout());
// 添加組件
frame.add(new JButton("North"), BorderLayout.NORTH);
frame.add(new JButton("South"), BorderLayout.SOUTH);
frame.add(new JButton("East"), BorderLayout.EAST);
frame.add(new JButton("West"), BorderLayout.WEST);
frame.add(new JButton("Center"), BorderLayout.CENTER);
// 顯示窗口
frame.setVisible(true);
}
}3. GridLayout(網(wǎng)格布局)
- 特點(diǎn):
GridLayout將容器劃分為一個(gè)矩形網(wǎng)格,每個(gè)組件占據(jù)一個(gè)單元格,所有單元格的大小相同。 - 適用場(chǎng)景:適用于需要將組件均勻分布在一個(gè)網(wǎng)格中的情況,如計(jì)算器界面。
- 示例代碼:
import javax.swing.*;
import java.awt.*;
public class GridLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("GridLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// 設(shè)置布局管理器為GridLayout,3行3列
frame.setLayout(new GridLayout(3, 3));
// 添加組件
for (int i = 1; i <= 9; i++) {
frame.add(new JButton("Button " + i));
}
// 顯示窗口
frame.setVisible(true);
}
}總結(jié)
- FlowLayout:簡(jiǎn)單易用,適合組件較少且不需要復(fù)雜對(duì)齊的情況。
- BorderLayout:適用于需要在固定位置放置組件的情況。
- GridLayout:適用于需要將組件均勻分布在網(wǎng)格中的情況。
到此這篇關(guān)于Java中三種常用布局方式小結(jié)的文章就介紹到這了,更多相關(guān)Java常用布局方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot與vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出方法具體介紹
這篇文章主要介紹了Springboot與vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02
SpringBoot如何使用mail實(shí)現(xiàn)登錄郵箱驗(yàn)證
在實(shí)際的開(kāi)發(fā)當(dāng)中,不少的場(chǎng)景中需要我們使用更加安全的認(rèn)證方式,同時(shí)也為了防止一些用戶(hù)惡意注冊(cè),我們可能會(huì)需要用戶(hù)使用一些可以證明個(gè)人身份的注冊(cè)方式,如短信驗(yàn)證、郵箱驗(yàn)證等,這篇文章主要介紹了SpringBoot如何使用mail實(shí)現(xiàn)登錄郵箱驗(yàn)證,需要的朋友可以參考下2024-06-06
Spring?MVC概念+項(xiàng)目創(chuàng)建+@RequestMappring案例代碼
Spring?MVC?是?Spring?提供的一個(gè)基于?MVC?設(shè)計(jì)模式的輕量級(jí)?Web?開(kāi)發(fā)框架,本質(zhì)上相當(dāng)于?Servlet,這篇文章主要介紹了Spring?MVC概念+項(xiàng)目創(chuàng)建+@RequestMappring,需要的朋友可以參考下2023-02-02
Java用Arrays.asList初始化ArrayList實(shí)例方法
在本篇文章里小編給大家分享的是關(guān)于Java中使用Arrays.asList初始化ArrayList的知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。2019-10-10
IDEA2021沒(méi)有Web?Application的解決過(guò)程及分析
在IDEA中創(chuàng)建WebApplication項(xiàng)目時(shí),若AddFrameworksSupport無(wú)該選項(xiàng),可先創(chuàng)建普通Java項(xiàng)目后添加框架支持,或通過(guò)快捷鍵打開(kāi)registry,勾選javaee.legacy.project.wizard以啟用,如解決您的問(wèn)題,歡迎點(diǎn)贊支持2025-09-09
解決java.lang.IllegalArgumentException異常問(wèn)題
這篇文章主要介紹了解決java.lang.IllegalArgumentException異常問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Java創(chuàng)建和啟動(dòng)線(xiàn)程的兩種方式實(shí)例分析
這篇文章主要介紹了Java創(chuàng)建和啟動(dòng)線(xiàn)程的兩種方式,結(jié)合實(shí)例形式分析了java多線(xiàn)程創(chuàng)建、使用相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-09-09
SpringBoot?ApplicationContext接口深入分析
ApplicationContext是Spring應(yīng)用程序中的中央接口,由于繼承了多個(gè)組件,使得ApplicationContext擁有了許多Spring的核心功能,如獲取bean組件,注冊(cè)監(jiān)聽(tīng)事件,加載資源文件等2022-11-11

