JavaSwing GridLayout 網格布局的實現(xiàn)代碼
1. 概述
官方JavaDocsApi: java.awt.GridLayout
GridLayout,網格布局管理器。它以矩形網格形式對容器的組件進行布置,把容器按行列分成大小相等的矩形網格,一個網格中放置一個組件,組件寬高自動撐滿網格。
以行數(shù)和總數(shù)優(yōu)先: 通過構造方法或 setRows 和 setColumns 方法將行數(shù)和列數(shù)都設置為非零值時,指定的列數(shù)將被忽略。列數(shù)通過指定的行數(shù)和布局中的組件總數(shù)來確定。因此,例如,如果指定了三行和兩列,在布局中添加了九個組件,則它們將顯示為三行三列。僅當將行數(shù)設置為零時,指定列數(shù)才對布局有效。
GridLayout構造方法:
// 默認構造, 每個組件占據一行一列 GridLayout() // 指定 行數(shù) 和 列數(shù) 的網格布局 GridLayout(int rows, int cols) // 指定 行數(shù) 和 列數(shù) 的網格布局, 并指定 水平 和 豎直 網格間隙 GridLayout(int rows, int cols, int hgap, int vgap)
2. 代碼演示
package com.xiets.swing; import javax.swing.*; import java.awt.*; public class Main { public static void main(String[] args) { JFrame jf = new JFrame("測試窗口"); jf.setSize(200, 250); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); jf.setLocationRelativeTo(null); // 創(chuàng)建 3 行 3 列 的網格布局 GridLayout layout = new GridLayout(3, 3); // 設置 水平 和 豎直 間隙 // layout.setHgap(10); // layout.setVgap(10); JPanel panel = new JPanel(layout); JButton btn01 = new JButton("按鈕01"); JButton btn02 = new JButton("按鈕02"); JButton btn03 = new JButton("按鈕03"); JButton btn04 = new JButton("按鈕04"); JButton btn05 = new JButton("按鈕05"); JButton btn06 = new JButton("按鈕06"); JButton btn07 = new JButton("按鈕07"); JButton btn08 = new JButton("按鈕08"); panel.add(btn01); panel.add(btn02); panel.add(btn03); panel.add(btn04); panel.add(btn05); panel.add(btn06); panel.add(btn07); panel.add(btn08); jf.setContentPane(panel); jf.setVisible(true); } }
結果展示:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- java GUI編程之布局控制器(Layout)實例分析
- Java Swing SpringLayout彈性布局的實現(xiàn)代碼
- JavaSwing BorderLayout 邊界布局的實現(xiàn)代碼
- Java Swing CardLayout卡片布局的實現(xiàn)示例
- Java Swing GroupLayout分組布局的實現(xiàn)代碼
- Java Swing BoxLayout箱式布局的實現(xiàn)代碼
- Java Swing GridBagLayout網格袋布局的實現(xiàn)
- JavaSwing FlowLayout 流式布局的實現(xiàn)
- java布局管理之CardLayout簡單實例
- Java Swing組件BoxLayout布局用法示例
- Java Swing組件布局管理器之FlowLayout(流式布局)入門教程
- java Swing布局管理之BoxLayout布局
- Java 最重要布局管理器GridBagLayout的使用方法
- JavaSwing基礎之Layout布局相關知識詳解
相關文章
Mybatis-plus使用注解 @TableField(exist = false)
這篇文章主要介紹了Mybatis-plus使用注解 @TableField(exist = false),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03Java封裝數(shù)組之改進為泛型數(shù)組操作詳解
這篇文章主要介紹了Java封裝數(shù)組之改進為泛型數(shù)組操作,結合實例形式詳細分析了Java封裝數(shù)組為泛型數(shù)組相關原理、操作技巧與注意事項,需要的朋友可以參考下2020-03-03詳解使用JRebel插件實現(xiàn)SpringBoot應用代碼熱加載
這篇文章主要介紹了詳解使用JRebel插件實現(xiàn)SpringBoot應用代碼熱加載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10IDEA通過git回滾到某個提交節(jié)點或某個版本的操作方法
這篇文章主要介紹了IDEA通過git回滾到某個提交節(jié)點或某個版本的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07Spring Boot Hazelcast Caching 使用和配置詳解
這篇文章主要介紹了Spring Boot Hazelcast Caching 使用和配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09java線程并發(fā)cyclicbarrier類使用示例
CyclicBarrier類似于CountDownLatch也是個計數(shù)器,不同的是CyclicBarrier數(shù)的是調用了CyclicBarrier.await()進入等待的線程數(shù),當線程數(shù)達到了CyclicBarrier初始時規(guī)定的數(shù)目時,所有進入等待狀態(tài)的線程被喚醒并繼續(xù),下面使用示例學習他的使用方法2014-01-01Java超詳細教你寫一個斗地主洗牌發(fā)牌系統(tǒng)
這篇文章主要介紹了怎么用Java來你寫一個斗地主種洗牌和發(fā)牌的功能,斗地主相信大家都知道,同時也知道每一局都要洗牌打亂順序再發(fā)牌,本篇我們就來實現(xiàn)這個功能,感興趣的朋友跟隨文章往下看看吧2022-03-03