GridBagLayout
来源:互联网 发布:米兰工业设计学院知乎 编辑:程序博客网 时间:2024/04/20 19:15
package GUI;import java.awt.Button;import java.awt.Frame;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;public class MyGridBagConstainer {public static void main(String[] args) { Frame ff = new Frame(); GridBagLayout gr = new GridBagLayout(); GridBagConstraints gc = new GridBagConstraints(); //创建一个名为gc的约束对象 ff.setLayout(gr); //将容器ff的布局设为GridBagLayout //创建一组按钮组件 Button bb1 = new Button("bb1"); Button bb2 = new Button("bb2"); Button bb3 = new Button("bb3"); Button bb4 = new Button("bb4"); Button bb5 = new Button("bb5"); Button bb6 = new Button("bb6"); Button bb7 = new Button("bb7"); Button bb8 = new Button("bb8"); gc.fill = GridBagConstraints.BOTH;//设置约束的fill参数,该参数表示当组件的大小小于网格单元的大小时在水平和垂直 方向都填充, gc.weightx =11; //设置x方向的加权值为11。gc.weighty = 11;//设置y方向的加权值为11。 gr.setConstraints(bb1, gc); //将以上gc所设置的约束应用到按钮组件bb1 gc.weightx = 22;//设置x方向的加权值为22,如果不设置weightx则以下的组件都将自动应用上面所设置的weightx值11。 gr.setConstraints(bb2, gc); //将以上所设置的约束应用到按钮组件bb2。//gc.weighty=111; //注意如果不注释掉该行,则以后使用gc约束的按钮组件在y方向的加权值将为111,而在前面设置的y方向 的加权值11将失去作用。 gc.weightx =33; gc.gridwidth = GridBagConstraints.REMAINDER;//设置gridwidth参数的值为REMAINDER这样在后面使用该约束的组件将是该 行的最后一个组件。gr.setConstraints(bb3, gc); //第一行添加了三个按钮组件bb1,bb2,bb3,且这3个按钮的宽度按weightx设置的值11,22,33按 比例设置宽度 GridBagConstraints gc1 = new GridBagConstraints();//创建第二个约束gc1 gc1.fill = GridBagConstraints.BOTH; gc1.weighty = 22; //将第2行的y方向加权值设为22 gr.setConstraints(bb4, gc1); gr.setConstraints(bb5, gc1); gc1.gridwidth = GridBagConstraints.REMAINDER; gr.setConstraints(bb6, gc1); //第二行添加了三个按钮组件bb4,bb5,bb6 gc1.weighty =33; gc1.gridwidth = GridBagConstraints.REMAINDER; gr.setConstraints(bb7, gc1);//第三行添加了一个按钮组件bb7 gc1.weighty=0;gr.setConstraints(bb8, gc1); //第四行添加了一个按钮组件bb8,bb8并没有添加到bb7的后面,因为bb8使用了bb7前面的 gridwidth参数设置的值,所以bb8也是单独的一行。 ff.setSize(500, 300); ff.add(bb1); ff.add(bb2);ff.add(bb3); ff.add(bb4);ff.add(bb5); ff.add(bb6); ff.add(bb7);ff.add(bb8); ff.setVisible(true);} }
package GUI;import java.awt.Button;import java.awt.Frame;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;public class MyGridBagCon {public static void main(String[] args) {//将容器ff的布局设为GridBagLayout Frame ff = new Frame(); GridBagLayout gr = new GridBagLayout(); GridBagConstraints gc = new GridBagConstraints(); //创建一个名为gc的约束对象 ff.setLayout(gr); //创建一组按钮组件 Button bb1 = new Button("bb1"); Button bb2 = new Button("bb2"); Button bb3 = new Button("bb3"); Button bb4 = new Button("bb4"); Button bb5 = new Button("bb5"); Button bb6 = new Button("bb6"); Button bb7 = new Button("bb7"); Button bb8 = new Button("bb8"); gc.fill = GridBagConstraints.BOTH; gc.weightx = 11; gc.weighty = 11; gr.setConstraints(bb1, gc); gc.weightx = 22; gc.gridx = 1; gc.gridy = 1; //将下一个组件放置在坐标为1,1的位置。 gr.setConstraints(bb2, gc); gc.weightx = 33; gc.gridx = 2; gc.gridy = 1; //将下一个组件放置在坐标为2,1的位置。 gc.insets = new Insets(-10, -10, -10, -10); //将下一个组件与网格单元的空白区域向外扩展10个像素,在这里可以看到网格包布局允许组件之间重叠。 gc.gridwidth = GridBagConstraints.REMAINDER; gr.setConstraints(bb3, gc); GridBagConstraints gc1 = new GridBagConstraints(); gc1.weighty = 22; gc1.ipadx = 50; gc1.ipady = 50; //将组件的最小尺寸加大ipadx*2个像素。 gr.setConstraints(bb4, gc1); gc1.ipadx = 0; gc1.ipady = 0; //将以后的组件的最小尺寸设置为默认值,如果省掉该行,则以后组件的最小尺寸都会加大ipadx*2个像素。 gc1.anchor = GridBagConstraints.NORTHWEST; //将下一个组件bb5的位置放置在单元网格的西北方向。gr.setConstraints(bb5, gc1); //因为bb5未设置fill,同时bb5设置了weightx(由gc参数设置)和weighty两个值以确定bb5所在 的网格单元的大小,因而组件bb5的原始最小尺寸无法占据整个网格单元。 gc1.fill = GridBagConstraints.BOTH; gc1.gridwidth = GridBagConstraints.REMAINDER; gr.setConstraints(bb6, gc1); gc1.weighty = 33; gc1.insets = new Insets(5, 15,40,150); //使下一个组件bb7与网格单元之间在上,左,下,右,分别保持5,15,40,150个像素的空白位置。 gr.setConstraints(bb7, gc1); gc1.weighty = 0; gc1.insets = new Insets(0, 0, 0, 0); //将insets的参数值设为默认值。 gr.setConstraints(bb8, gc1); ff.setSize(500, 300); ff.add(bb1);ff.add(bb2); ff.add(bb3); ff.add(bb4); ff.add(bb5); ff.add(bb6); ff.add(bb7); ff.add(bb8); ff.setVisible(true);}}
0 0
- gridbaglayout
- GridBagLayout
- gridbaglayout
- GridBagLayout
- GridBagLayout
- GridBagLayout
- gridbaglayout
- GridBagLayout
- GridBagLayout
- GridBagLayout 梗概
- GridBagLayout Example
- GridBagLayout用法
- GridBagLayout使用
- 关于GridBagLayout
- GridBagLayout用法
- GridBagLayout 布局
- java gridbaglayout
- Java GridBagLayout
- 练习1-4
- MySQ命令行L常用命令
- 基于IDEA的SSH项目之五:集成Hibernate
- vtp的配置
- 向量几何在游戏编程中的使用4 - 2-D物体间的碰撞响应
- GridBagLayout
- java+内存分配及变量存储位置的区别
- 196
- ubuntu tftp服务的步骤配置
- FFmpeg 在树莓派上的运行
- 关于wifi和微波炉的一些知识
- java利用JSOUP解析html
- eclipse的一些设置
- mybatis逻辑分页,含分页导航