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