网格布局(GridLayout) 行数与列数
1、如果网格布局对象未指定具体的“行数”和“列数”,那么它将拥有1行和动态的列数。

1 import java.awt.Button; 2 import java.awt.Frame; 3 import java.awt.GridLayout; 4 5 public class TestGridLayout { 6 7 public static void main(String[] args) { 8 9 Frame f = new Frame("TestGridLayout" ); 10 GridLayout gl = new GridLayout(); //创建无参的网格布局对象 11 12 Button bt1 = new Button("bt1" ); 13 Button bt2 = new Button("bt2" ); 14 Button bt3 = new Button("bt3" ); 15 Button bt4 = new Button("bt4" ); 16 //Button bt5 = new Button("bt5" ); 17 18 // 添加组件到容器 19 f.add(bt1); 20 f.add(bt2); 21 f.add(bt3); 22 f.add(bt4); 23 //f.add(bt5); 24 25 f.setLayout(gl); // 设置网格布局 26 f.setSize(400, 300); // 设置窗口大小 27 f.setVisible( true); // 设置窗口为可见 28 29 } 30 }
4个组件的效果:
5个组件的效果:
2、指定行数和列数的网格布局:new GirdeLayout(int rows,int cols);
2_1、如果指定 “行数”为非0,那么“列数”的自定义将被忽略;列数由“组件数”和“行数”决定。
比如:有5个组件,在rows=2,cols=1的网格布局中,将显示为2行3列;
在rows=5,cols=2的网格布局中,将显示5行1列;
2_2、仅在定义行数为0时,列数的定义才会生效。那么,此时行数并不是真的为0行,而是通过“列数”和“组件数”所决定。
比如:有5个组件,在在rows=0,cols=1的网格布局中,将显示为5行1列。
如果在阅读过程中发现了一些错误的地方,请不要吝啬您的评论。希望能和大家共同进步!谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了