GridLayout 布局, 听其名而知其意, 它将容器分割成多行多列, 组件被填充到每个网格中,
添加到容器中的组件首先放置在左上角的网格中 ,
然后从左到右放置其它的组件, 当占满该行的所有网格后,
接着继续在下一行从左到右放置组件。
注意事项
1、组件的相对位置不随容器的缩放而变化,但大小会变化;
2、所有组件的大小相同;
3、可以通过 GridLayout(int rows,int cols,int hgap,int vgap) 来指定网格的行 / 列,水
平间隙 / 垂直间隙。
参数说明: rows: 行数 /cols: 列数 /hgap: 垂直间隙 /vgap: 水平间隙
下面上代码:
/**
* 测试网格布局
*/
package com.shunping;
import java.awt.*;
import javax.swing.*;
public class Demo8_4 extends JFrame{
//这里定义一个数组来存放我们的组件
int size = 9;
JButton jbs[] = new JButton[size];
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo8_4 demo8_4 = new Demo8_4(300, 200);
}
public Demo8_4(int x_size, int y_size)
{
//创建小控件
for(int i = 0; i < jbs.length; i++)
{
jbs[i] = new JButton(String.valueOf(i));
}
//添加小控件到主窗体
for(int i = 0; i < jbs.length; i++)
{
this.add(jbs[i]);
}
//设置布局管理,3x3,然后每个空间间隔10个像素
this.setLayout(new GridLayout(3, 3, 20, 20));
//设置窗体大小
this.setSize(x_size, y_size);
//设置窗体显示位置
//this.setLocation(300, 400);
this.setLocationRelativeTo(null); //居中显示
//禁止用户改变窗体大小
this.setResizable(false);
//设置窗体名字
this.setTitle("网格布局");
//设置关闭窗体的时候,自动关闭虚拟机
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗体为visible
this.setVisible(true);
}
}
运行结果如下:

本文详细介绍了Java中的GridLayout布局管理器,它将容器划分为固定数量的行和列,使得组件均匀占据网格空间。内容包括GridLayout的工作原理、特点以及使用方法,并通过代码示例展示其应用。在开发GUI程序时,设置布局管理器是关键步骤之一,而GridLayout因其简单和高效,成为常用的布局选择。

2759

被折叠的 条评论
为什么被折叠?



