2、JavaSwing 布局管理器——GridLayout(网格布局)

概述

官方JavaDocsApi: https://docs.oracle.com/javase/8/docs/api/java/awt/GridLayout.html

 

GridLayout,网格布局管理器。它以矩形网格形式对容器的组件进行布置,把容器按行列分成大小相等的矩形网格,一个网格中放置一个组件,组件宽高自动撑满网格。

 

以行数和总数优先: 通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时,指定的列数将被忽略。列数通过指定的行数和布局中的组件总数来确定。因此,例如,如果指定了三行和两列,在布局中添加了九个组件,则它们将显示为三行三列。仅当将行数设置为零时,指定列数才对布局有效。

 

GridLayout构造方法:

GridLayout()

 

默认构造, 每个组件占据一行一列

GridLayout(int rows, int cols)

 

指定 行数 和 列数 的网格布局

GridLayout(int rows, int cols, int hgap, int vgap)

 

指定 行数 和 列数 的网格布局, 并指定 水平 和 竖直 网格间隙

代码案例

import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * 测试网格布局
 * @author 28250
 *
 */

public class TestGridTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame jf = new JFrame();
		jf.setSize(400,300);  //大小
		jf.setTitle("网格布局");  //设置标题 
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭并退出
		jf.setLocationRelativeTo(null);  //居中
		
		//创建3*3的网格布局
		GridLayout layout = new GridLayout(3,3);
		//设置间隙
		layout.setHgap(10);  //水平间隙
		layout.setVgap(10);  //竖直间隙
		
		//创建中间容器 并设置布局
		JPanel panel = new JPanel(layout);
		
		JButton btn1 = new JButton("按钮1");
		JButton btn2 = new JButton("按钮2");
		JButton btn3 = new JButton("按钮3");
		JButton btn4 = new JButton("按钮4");
		JButton btn5 = new JButton("按钮5");
		JButton btn6 = new JButton("按钮6");
		JButton btn7 = new JButton("按钮7");
		JButton btn8 = new JButton("按钮8");
		
		panel.add(btn1);
		panel.add(btn2);
		panel.add(btn3);
		panel.add(btn4);
		panel.add(btn5);
		panel.add(btn6);
		panel.add(btn7);
		panel.add(btn8);
		
		//将中间容器添加到窗口中
		jf.setContentPane(panel);
		
		jf.setVisible(true);
	}

}

猜你喜欢

转载自blog.csdn.net/qq_43629083/article/details/109017518
今日推荐