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
分享到:
相关推荐
### Java中GridBagLayout的用法详解 #### 一、GridBagLayout简介 GridBagLayout是一种高度灵活且功能强大的布局管理器,在Java Swing图形用户界面编程中被广泛使用。相较于其他布局管理器如FlowLayout或...
在Java Swing中,`GridBagLayout`是一种非常灵活的布局管理器,允许开发者精确控制组件在容器中的位置和大小。由于其灵活性,`GridBagLayout`成为创建复杂、自定义布局的理想选择,但它的确比其他布局管理器更复杂。...
在Java Swing中,`GridBagLayout`是一种灵活的布局管理器,它允许开发者精确地控制组件在容器中的位置和大小。而`JTable`是Swing提供的一种用于展示表格数据的组件,通常用于数据的显示、编辑和排序。这篇博客文章...
Java中的GridBagLayout布局管理器是Java Swing中用于组织组件的一种高级布局策略,它提供了最大的灵活性,能够处理不同大小的组件并允许它们跨多个网格单元,甚至部分重叠。GridBagLayout通过GridBagConstraints对象...
Java Swing GridBagLayout,很详细的Demo,对GridBagLayout如何使用做全面的讲解
本文通过代码示例的方式介绍了Swing的GridBagLayout布局样式的应用,不拘泥于JDK文档教条方式的陈述,图形效果图与文字相结合,讲解直观而浅显易懂,另外,示例代码中还包含了BorderLayout、FlowLayout等布局的应用...
GridBagLayout 布局详解 GridBagLayout 是 Java Swing 编程中的一种强大且灵活的布局管理器,它可以实现几乎所有你想要的布局。通过设置 GridBagConstraints 对象的参数,可以控制组件在显示区域中的位置、大小和...
在Java GUI编程中,`GridBagLayout`是一个强大的布局管理器,它允许开发者精确地控制组件在容器中的位置和大小。与其他布局管理器不同,`GridBagLayout`提供了更大的灵活性,使得开发者能够创建复杂的界面布局。以下...
GridBagLayout是Java Swing布局管理器之一,但MATLAB的 GUIDE工具(GUI Development Environment)同样支持它,使得我们可以利用GridBagLayout来创建复杂且灵活的布局。GridBagLayout允许在GUI窗口中动态地排列组件...
在MATLAB编程环境中,`GridBagLayout`是一个用于组织和管理图形用户界面(GUI)组件的强大工具。这个布局管理器允许开发者以灵活的方式排列和调整`uicontrols`(如按钮、文本框等)、`uipanels`和`uicontainers`的...
Java中的GridBagLayout布局管理器是Java Swing中最复杂但也是最灵活的布局管理工具,它允许容器中的组件具有不同的大小,可以跨越多个网格,并且组件之间可以部分重叠。理解GridBagLayout的关键在于掌握它的网格单元...
这是为初初学者提供练习的代码,具有很强的指导效果哈~~~
### Java中GridBagLayout布局管理器的详细讲解 #### 一、引言 在Java图形用户界面(GUI)设计中,界面布局是非常重要的一个环节。合理的布局不仅能够提高应用程序的美观性,还能够提升用户体验。Java提供了多种...
Java中的GridBagLayout布局管理器是Java Swing中最复杂但也是最灵活的布局管理工具,它允许组件在容器中以不同的大小存在,甚至可以跨多个网格并部分重叠。这种布局管理器将容器划分为一系列网格单元,每个组件可以...
Java 网格包 GridBagLayout 布局管理器专题 Java 网格包 GridBagLayout 布局管理器是 Java 语言中最复杂和灵活的布局管理器之一。与网格布局管理器不同的是,网格包布局管理器允许容器中各个组件的大小各不相同,还...
在众多的布局管理器中,`GridBagLayout` 是最为灵活,但也最为复杂的。它允许开发者精确地控制组件的位置和大小,以适应各种复杂的布局需求。 在`GridBagLayout`中,有几个核心参数对于理解和使用该布局管理器至关...
Java Swing GridBagLayout网格袋布局的实现 Java Swing GridBagLayout网格袋布局是Java Swing中一种常用的布局管理器,能够灵活地管理组件的布局。GridBagLayout通过将组件安排在网格单元格中来管理布局,每个组件...
Java中的`GridBagLayout`是Swing库中最强大的布局管理器之一,允许开发者创建复杂的、自适应的用户界面。这个布局管理器通过一个网格来组织组件,每个组件可以在网格中占据一个或多个单元格,提供了极大的灵活性。...
根据html的table标签作为配置文件,进行swing GridBagLayout方式的布局管理。简化swing复杂界面布局不方便,容器定位的问题。 具体思想是将tabel td等标签相关元素和属性映射成GridBagConstraints的属性值,将布局...