1. 首先,建layout对象,panel设置为该layout:
GridBagLayout gbl = new GridBagLayout();
panel.setLayout(gbl);
2.设置列和行的参数(数组有多少个元素,也表明了有多少列和行了):
gbl.columnWidths = new int[]{0, 0, 0, 0}; //最小列宽度
gbl.rowHeights = new int[]{0, 0, 0, 0, 0}; //最小行高度
下面是对权重的赋值,权重为1,则随着窗口的大小变化而等比例变化,为0,则该单元格大小不变
gbl.columnWeights = new double[]{0.0, 1.0, 1.0, Double.MIN_VALUE};
gbl.rowWeights = new double[]{1.0, 1.0, 1.0, 0.0, Double.MIN_VALUE};
3.每个单元格里放一个组件(可以放panel,然后放更多的组件上去),对应一个GridBagConstraints,GridBagConstraints相当于是对这个单元格的描述。实际上是没有单元格这个对象的,只有它的描述。
GridBagConstraints gbc = new GridBagConstraints();
panel.add(panel2, gbc); //在panel中增加一个组件panel2,它所处的单元格的描述就是gbc了
因为GridBagConstraints是对单元格的描述,可以想象它怎样去形容一个单元格:(与表格类比)
(1)位置:gridx,gridy
gbc.gridx = 0;
gbc.gridy = 0;
(2) 跨度,gridheight,gridwidth
gbc.gridheight = 2; //垂直跨2个单元格
gbc. gridwidth = 2; //水平跨2个单元格
(3)fill 当单元格大于组件时,是否向垂直和水平方向扩展:
gbc.fill = GridBagConstraints.BOTH; //既向垂直也向水平方向扩展
(4)anchor: 当单元格小于组件时,组件应放在单元格的位置,一般是相对位置,也就是你想显示这个组件的哪一部分:
gbc.anchor = GridBagConstraints.NORTHWEST; //西北方,也就是左上角了
(5)insets: 组件与单元格边缘之间间距的最小量,分4个方向:上,左,下,右
gbc.insets = new Insets(0, 0, 0, 5); //离右边缘最小间距为5
分享到:
相关推荐
本文通过代码示例的方式介绍了Swing的GridBagLayout布局样式的应用,不拘泥于JDK文档教条方式的陈述,图形效果图与文字相结合,讲解直观而浅显易懂,另外,示例代码中还包含了BorderLayout、FlowLayout等布局的应用...
Java Swing GridBagLayout,很详细的Demo,对GridBagLayout如何使用做全面的讲解
网袋布局管理器--GridBagLayout使用介绍
GridBagLayout布局管理器:主要是关于java中GridBagLayout的布局,该文档详细描写的GridBagLayout的具体用法。
深入浅出介绍Java Swing编程中的GridBagLayout布局。
这是为初初学者提供练习的代码,具有很强的指导效果哈~~~
咋也不用愁,老师布置的界面设计的作业了
NULL 博文链接:https://chenlinbo.iteye.com/blog/610417
matlab开发-GridBagLayout.zip
matlab开发-GridBagLayout。一个控制图形/uipanel/uicontainer的布局和大小的matlab类。
Java中GridBagLayout管理器实例.pdf 学习资料 复习资料 教学资源
根据html的table标签作为配置文件,进行swing GridBagLayout方式的布局管理。简化swing复杂界面布局不方便,容器定位的问题。 具体思想是将tabel td等标签相关元素和属性映射成GridBagConstraints的属性值,将布局...
java网格包GridBagLayout布局管理器专题.pdf
java网格包GridBagLayout布局管理器专题借鉴.pdf
java网格包GridBagLayout布局管理器专题的分析.pdf
java swing布局管理器实例之gridbaglayout,实现左右选择框
GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的,需要的朋友可以了解下
主要介绍了Java Swing GridBagLayout网格袋布局的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
import Java.awt.*; import java.awt.event.*; import javax.Swing.*; public class Calculator extends JFrame ... private GridBagLayout layout; private GridBagConstraints constraints;