java 网格组布局

来源:互联网 发布:网络语言大二班 编辑:程序博客网 时间:2024/05/22 12:41
package com.xinhua.gridbaglayout;


import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;


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


public class TestGridBagLayout extends JFrame {


public TestGridBagLayout() {
setTitle("网格组布局测试");
getContentPane().setLayout(new GridBagLayout());
setBounds(100, 100, 500, 170);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton button = new JButton("A");
GridBagConstraints gridBagConstraints = new GridBagConstraints();

//起始点为第1行,注意gridy是行
gridBagConstraints.gridy = 0;
// 起始点为第一列,注意坐标轴特点
gridBagConstraints.gridx = 0;
// 第一列的分布方式为10%
gridBagConstraints.weightx = 10;
gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(button, gridBagConstraints);

JButton button1 = new JButton("B");
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.gridy = 0;
gridBagConstraints1.gridx = 1;
// 设置组件左侧的最小距离
gridBagConstraints1.insets = new Insets(0, 5, 0, 0);
gridBagConstraints1.weightx = 20;
gridBagConstraints1.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(button1, gridBagConstraints1);


JButton button2 = new JButton("C");
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
// 起始点为第1行
gridBagConstraints2.gridy = 0;
// 起始点为第3列
gridBagConstraints2.gridx = 2;
gridBagConstraints2.gridheight = 2;
gridBagConstraints2.insets = new Insets(0, 5, 0, 0);
// 第一列的分布方式为30%
gridBagConstraints2.weightx = 30;
// 组件宽度高度同时调制至填满显示区域
gridBagConstraints2.fill = GridBagConstraints.BOTH;
getContentPane().add(button2, gridBagConstraints2);

JButton button3 = new JButton("D");
GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
gridBagConstraints3.gridy = 0;
gridBagConstraints3.gridx = 3;
gridBagConstraints2.gridheight = 4;
// 设置组件左侧和右侧的最小距离
gridBagConstraints3.insets = new Insets(0, 5, 0, 5);
gridBagConstraints3.weightx = 40;
gridBagConstraints3.fill = GridBagConstraints.BOTH;
getContentPane().add(button3, gridBagConstraints3);


JButton button4 = new JButton("E");
GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
gridBagConstraints4.gridy = 1;
gridBagConstraints4.gridx = 0;
// 组件占用两列
gridBagConstraints4.gridwidth = 2;
gridBagConstraints4.insets = new Insets(5, 0, 0, 0);
gridBagConstraints4.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(button4, gridBagConstraints4);


setVisible(true);
}


public static void main(String[] args) {
new TestGridBagLayout();
}
}
0 0