您的位置:首页 > 大数据 > 人工智能

GridBagConstraints(网格组布局管理器的使用)

2015-10-09 13:13 836 查看
GridBagConstraints特征:

由GridBagConstraints类实现的布局管理器称为网格组布局管理器,它实现了一个动态的矩形网格,这个矩形风格由无数个矩形单元格组成,每个组件可以占用一个或多个这样的单元格。

动态矩形网格:可以根据实际需要随意增减矩形网格的行数和列数。

它实现的矩形网格的绘制方向由容器决定,网格的索引从0开始。

下面写一个测试方法来讲解GridBagConstraints类中的各方法和属性:

本例程中的所有程序实验环境及测试工具:JDK1.7、Eclipse6.5

测试主程序:

package practice;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

@SuppressWarnings("serial") //关闭类或方法级别的警告
public class GridBagConstraintsTest extends JFrame {
/**
* 构造
*/
public GridBagConstraintsTest() {
super();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //添加响应窗口关闭事件
getContentPane().setLayout(new GridBagLayout()); //添加窗口容器的布局方式
initOne(); <span style="white-space:pre"> </span>//测试gridex与gridey属性
}

/**
* 测试
*/
public static void main(String[] args) {
new GridBagConstraintsTest().setVisible(true); //创建一个窗口对象并设置可见
}

}

1、测试gridx和gridy属性
private void initOne() {
JButton aBtn =  new JButton("组件A");					//创建带文字的5个按扭:组件A-组件E
JButton bBtn =  new JButton("组件B");
JButton cBtn =  new JButton("组件C");
JButton dBtn =  new JButton("组件D");
JButton eBtn =  new JButton("组件E");

setTitle("gridex与gridey属性测试");					//标题
setBounds(100, 100, 400, 300);						//显示位置及大小

GridBagConstraints gridBagConstraintsA = new GridBagConstraints();	//创建一个网格组布局管理器对象
gridBagConstraintsA.gridy = 0;						//从第一行开始
gridBagConstraintsA.gridx = 0;						//从第一列开始
getContentPane().add(aBtn, gridBagConstraintsA);			//将按扭添加到创建的布局管理器中

GridBagConstraints gridBagConstraintsB = new GridBagConstraints();
gridBagConstraintsB.gridy = 0;						//从第一行第三列开始
gridBagConstraintsB.gridx = 2;
getContentPane().add(bBtn, gridBagConstraintsB);

GridBagConstraints gridBagConstraintsC = new GridBagConstraints();
gridBagConstraintsC.gridy = 1;						//从第二行第二列开始
gridBagConstraintsC.gridx = 1;
getContentPane().add(cBtn, gridBagConstraintsC);

GridBagConstraints gridBagConstraintsD = new GridBagConstraints();
gridBagConstraintsD.gridy = 2;						//从第三行第一列开始
gridBagConstraintsD.gridx = 0;
getContentPane().add(dBtn, gridBagConstraintsD);

GridBagConstraints gridBagConstraintsE = new GridBagConstraints();
gridBagConstraintsE.gridy = 2;						//从第三行第三列开始
gridBagConstraintsE.gridx = 2;
getContentPane().add(eBtn, gridBagConstraintsE);

}
输出结果:



2、gridwidth和ridheight属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息