GridLayout
时间:2026-08-21 04:39:31 431浏览 收藏
GridLayout(网格布局管理器)会用横线和竖线把容器切分成 n 行 m 列、大小一致的网格,每个网格里都可以放置一个组件。组件加入容器后,会先落在第1行第1列(左上角)的位置,随后按照第1行从左到右的顺序依次排布;当前一行放满之后,再进入下一行,继续按从左到右的方式放置。它和 FlowLayout 有个很明显的区别:放进 GridLayout 的组件,会自动撑满各自所在的整个网格区域。GridLayout 类一共提供了三个构造方法,具体如表1所示。
表1 GridLayout构造方法
| 方法声明 | 功能描述 |
|---|---|
| GridLayout() | 默认只有一行,每个组件占一列 |
| GridLayout(int rows,int cols) | 指定容器的行数和列数 |
| GridLayout(int rows,int cols,int hgap,int vgap) | 指定容器的行数和列数以及组件之间的水平、垂直间距 |
表1中,列出了GridLayout的三个构造方法,其中,参数rows代表行数,cols代表列数,hgap和vgap规定窗格之间水平和垂直方向的间距。
接下来通过一个案例演示GridLayout布局管理器的用法,如文件1所示。
文件1 Example05.ja va
1 import ja va.awt.*;
2 import ja vax.swing.*;
3 public class Example05 {
4 private static void createAndShowGUI() {
5 // 创建一个名为GridLayout的窗体
6 JFrame f = new JFrame("GridLayout");
7 f.setLayout(new GridLayout(3, 3)); // 设置该窗体为3*3的网格
8 f.setSize(300, 300); // 设置窗体大小
9 f.setLocation(400, 300);
10 // 下面的代码是循环添加8个按钮组件到GridLayout容器中
11 for (int i = 1; i 9; i++) {
12 Button btn = new Button("btn" + i);
13 f.add(btn);
14 }
15 f.setVisible(true);
16 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
17 }
18 public static void main(String[] args) {
19 // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
20 SwingUtilities.invokeLater(Example05::createAndShowGUI);
21 }
22 }
运行结果如图1所示。

图1 网格布局管理器
在文件1里,JFrame窗口使用的是GridLayout布局管理器,一共放置了8个按钮。按钮会按编号顺序排列,先从左到右,再从上到下,把整个容器依次填满。这个布局最直观的特点是:即使窗口区域发生缩放,组件之间的相对位置也不会变化;变化的是组件本身的尺寸,而且每个组件都会始终完整占满各自所在的网格区域。当然,它也有明显的局限——会直接忽略组件的最佳大小,最终所有组件的宽度和高度都会保持一致。
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习