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

来源:互联网 发布:mac os 最好的版本 编辑:程序博客网 时间:2024/05/16 19:11

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-组件EJButton 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属性


0 0
原创粉丝点击