一、网格包布局举例
1.这里构造一个3*3的布局。
package com.bjpowernode.java_learning; import java.awt.Frame; import java.awt.*; public class D123_1_GridLayout { public static void main(String[] args) { Frame f = new Frame("GridLayout"); //创建一个名为GridLayout的窗体 f.setLayout(new GridLayout(3,3)); //设置该窗体位3*3的网格 f.setSize(300,300); //设置窗体大小 f.setLocation(400,300); //下面的代码是循环添加9个按钮到GridLayout中 for(int i=1;i<=9;i++) { Button btn = new Button("btn" + i); f.add(btn); //向窗体中添加按钮 } f.setVisible(true); } }
二、网格包布局管理器
GridBagLayout(网格包布局管理器)是最灵活、最复杂的布局管理器。它与GridLayout布局管理器类似,它允许网格中的组件大小各不相同,而且允许一个组件跨越一个或者多个网格。
1.使用GridBagLayout布局管理器的步骤如下:
(1)创建GridbagLayout布局管理器,并使容器采用该布局管理器
GridbagLayout layout = new GridBagLayout(); container.setLayout(layout);
(2)创建GridBagConstrains对象(布局约束条件),并设置该对象的相关属性,例如:
GridBagConstains constrains = new GridBagConstraints(); constraints.gridx = 1; //设置网格的左上角横向索引 constraints.gridy = 1; //设置网格的左上角纵向索引 constraints.gridheight = 1; //设置组件横向跨越的组件 constraints.gridwidth = 1; //设置组件纵向跨越的组件
(3)调用GridBagLayout对象的setConstraints()方法建立GidBagConstrains对象和受控组件之间的关联。
layout.setConstraints(component,constraints);
(4)向容器中添加组件
container.add(component);
GridBagConstrains对象是可以重复使用的,只需要改变它的属性即可。如果要向容器中添加多个组件,则重复(2),(3),(4)步骤。
三、源码
D123_1_GridLayout.java
https://github.com/ruigege66/Java/blob/master/D123_1_GridLayout.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料