Java中三種常用布局方式小結(jié)
更新時間:2025年02月07日 10:51:06 作者:徒步僧
在Java Swing和JavaFX中,布局管理器(Layout Managers)用于控制組件(如按鈕、文本框等)在容器(如窗口、面板等)內(nèi)的位置和大小,下面介紹Java Swing中常用的三種布局方式,需要的朋友可以參考下
1. FlowLayout(流式布局)
- 特點(diǎn):
FlowLayout是最簡單的布局管理器之一,它按照從左到右、從上到下的順序排列組件。當(dāng)一行放不下更多的組件時,會自動換行。 - 適用場景:適用于組件數(shù)量不多,且不需要復(fù)雜對齊的情況。
- 示例代碼:
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將容器劃分為五個區(qū)域:北(North)、南(South)、東(East)、西(West)和中心(Center)。每個區(qū)域最多只能放置一個組件。 - 適用場景:適用于需要在窗口的固定位置放置組件的情況,如標(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將容器劃分為一個矩形網(wǎng)格,每個組件占據(jù)一個單元格,所有單元格的大小相同。 - 適用場景:適用于需要將組件均勻分布在一個網(wǎng)格中的情況,如計算器界面。
- 示例代碼:
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:簡單易用,適合組件較少且不需要復(fù)雜對齊的情況。
- BorderLayout:適用于需要在固定位置放置組件的情況。
- GridLayout:適用于需要將組件均勻分布在網(wǎng)格中的情況。
到此這篇關(guān)于Java中三種常用布局方式小結(jié)的文章就介紹到這了,更多相關(guān)Java常用布局方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis和orcale update語句中接收參數(shù)為對象的實(shí)例代碼
Mybatis的 mapper.xml 中 update 語句使用 if 標(biāo)簽判斷對像屬性是否為空值。本文重點(diǎn)給大家介紹Mybatis和orcale update語句中接收參數(shù)為對象的實(shí)例代碼,需要的朋友參考下吧2017-09-09
java實(shí)現(xiàn)1M圖片壓縮優(yōu)化到100kb實(shí)現(xiàn)示例
這篇文章主要為大家介紹了java實(shí)現(xiàn)1M圖片壓縮優(yōu)化到100kb示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
mybatis如何實(shí)現(xiàn)saveOrUpdate
這篇文章主要介紹了mybatis如何實(shí)現(xiàn)saveOrUpdate問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Java中String.format的使用方法總結(jié)
這篇文章主要介紹了Java中String.format的用法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03
java實(shí)現(xiàn)獲取安卓設(shè)備里已安裝的軟件包
本文給大家介紹的是如何獲取設(shè)備中已經(jīng)安裝的應(yīng)用軟件包的代碼,其核心方法原理很簡單,我們通過Android中提供的PackageManager類,來獲取手機(jī)中安裝的應(yīng)用程序信息2015-10-10

