布局管理是决定容器中组件的大小和位置的过程。布局管理器(Layout Manager)负责管理容器中组件的布局。它指明了容器中构件的位置和尺寸大小。(由java.awt包提供。下面是比较常用的 几个布局管理器)
FlowLayout | 流布局管理器 |
BorderLayout | 边界布局管理器 |
GridLayout | 格子布局管理器 |
CardLayout | 卡片布局管理器 |
GridBagLayout | GridBag布局管理器 |
1. FlowLayout
FlowLayout类是流布局管理器类,它是缺省布局管理器。流布局管理器可以自动依据窗口的大小,将组件由左到右、由上到下的顺序来排列。
FlowLayout构造方法如下所示:
FlowLayout()
FlowLayout(int align)
FlowLayout(int align, int hgap, int vgap)
2.BorderLayout
BorderLayout:边界布局管理器可以让我们按东、西、南、北、中的方位来布置组件。 BorderLayout类有以下构造函数:
BorderLayout():创建边界布局管理器。
BorderLayout(int hgap, int vgap):创建边界布局管理器,并指定控件的垂直与水平间隔。
3.GridLayout
GridLayout:格子布局管理器把显示区域编组为矩形格子组,然后将控件依次放入每个格子中,从左到右,自顶向下地放置。 GridLayout类有以下构造函数:
GridLayout(int rows, int cols)
GridLayout(int rows, int cols, int hgap, int vgap)
4.CardLayout
CardLayout卡片布局管理器是一个比较复杂的布局管理器。用这个管理器,可以使得容器象一个卡片盒,而容器中的页面象卡片盒中的卡片一样任意翻动显示。
CardLayout布局管理器有以下构造函数:
CardLayout():创建一卡片布局管理器
CardLayout(int hgap, int vgap):创建一卡片布局管理器,并指定左右边距和上下边距。
5.GridBagLayout
GridBagLayout:布局管理器为AWT提供的最灵活、最复杂的布局管理器。GridBagConstraints类来保存位置信息。
使用GridBagLayout类提供的setConstraints()方法将GridBagConstraints类对象绑定到相应组件上。
实现布局的方法:
用GridBagConstraints类的属性设置方位信息
利用GridBagLayout类提供的setConstraints()方法将方位信息绑定到某组件上
将组件加到某容器中
fill属性:可以用来确定如何在它的显示区域内显示组件。
有效值 | 描述 |
GridBagConstraints.NONE | 按组件的缺省高度和宽度填充 |
GridBagConstraints.HORIZONTAL | 在不改变高度的情况下,填满水平方向的显示区域 |
GridBagConstraints.VERTICAL | 在不改变宽度的情况下,填满垂直方向的显示区域 |
GridBagConstraints.BOTH | 填满整个显示区域 |
weightx、weighty属性
weightx属性确定此组件是否要拉长,以水平地填入显示区。缺省值均为0(不拉长),另一效值为1(拉长)。weighty属性确定此组件是否垂直拉长填入显示区。有效值相同。
gridwidth、gridheight属性
gridwidth属性指出组件显示区域中列的数目。这些属性的缺省值为1。
设置为GridBagConstraints.REMAINDER,表明该组件后面不能再摆放其他组件,或者说如果要继续摆放组件的话,只能在下一行摆放。设置为GridBagConstraints.RELATIVE表明可以在后面继续摆放组件。
gridheight属性指出组件显示区域中行的数目。
gridx,gridy 属性
属性gridx和gridy分别指出放置组件的长方形网格的行与列的数目。长方形网格最左面列为gridx=0,最高顶部为gridy=0。相当于X,Y坐标。
anchor 属性
当组件小于其显示区域时使用该属性,为在显示区域内确定放置组件的位置。其有效值为:
GridBagConstraints.CENTER (default) |
GridBagConstraints.NORTH |
GridBagConstraints.NORTHEAST |
GridBagConstraints.EAST |
GridBagConstraints.SOUTHEAST |
GridBagConstraints.SOUTH |
GridBagConstraints.SOUTHWEST |
GridBagConstraints.WEST |
GridBagConstraints.NORTHWEST |
分享到:
相关推荐
主要讲解了Swing中的几种布局管理器,方便大家学习更快速的掌握Swing的学习。
针对Swing的布局管理器的详细介绍,对我很有帮助
Swing布局管理器,标准布局管理器,自定义布局管理器
主要介绍了Java Swing组件布局管理器之FlowLayout(流式布局),结合实例形式分析了Swing组件布局管理器FlowLayout流式布局的常用方法及相关使用技巧,需要的朋友可以参考下
Swing常见布局管理器总结
javaSwing布局管理实例,多个布局内容,写不同的实例
GridLayout 是一种 Java Swing 库提供的布局管理器,用于在容器中将组件排列为规则的行列网格。 GridLayout 的特点如下: 组件按照行和列的顺序进行排列。 所有的单元格大小相等,会根据容器的大小自动调整。 可以...
java-中swing结构与布局管理器(ppt文档).ppt
全文详细的介绍了Swing结构与布局管理器
java swing布局管理器实例之gridbaglayout,实现左右选择框
swing 结构与布局管理器 知识 下载
GroupLayout 是 Java Swing 提供的一种布局管理器,用于设计复杂的图形用户界面(GUI)。 与其他布局管理器相比,GroupLayout 提供了更灵活和功能强大的布局方式。它允许开发者以逻辑组的形式来组织和控制组件的...
MiGLayout - 用于 Swing 的 Java 布局管理器 com.miglayout/miglayout-swing/5.1/miglayout-swing-5.1.jar
BorderLayout 是 Java Swing 库提供的一种布局管理器,用于将容器划分为北、南、东、西和中五个区域,并在这些区域中添加组件。 在 BorderLayout 中,每个区域只能包含一个组件,当添加多个组件时,它们会自动填充...
很不错的j2se课件(ppt)!!!如果你认真学习每个ppt并自己敲完这些实例,你的java基础已经很优秀了!这些资料就是某些大学和培训机构一个学期或更长时间学习的! 为的是共同学习,共同进步! 注:本资料不承担任何...
MiGLayout - 用于 Swing 的 Java 布局管理器 com.miglayout/miglayout-swing/5.3/miglayout-swing-5.3.jar
【完整课程列表】 01 Java开发环境(共17页).ppt 02 Java编程基础(共61页).ppt 03 自定义方法(共14页).ppt 04 面象对象编程初步-类和对象(共...12 AWT布局管理器(共14页).ppt 13 AWT事件处理模型(共29页).ppt
CardLayout 是 Java Swing 库提供的一种布局管理器,用于在容器中管理多个组件的可见性,并允许用户在它们之间切换。 CardLayout 可以在一个容器中显示多个组件,但只有其中一个组件是可见的。通过切换可见组件,在...
FlowLayout 是 Java Swing 库提供的一种布局管理器,用于在容器中按照水平或垂直方向依次排列组件。 FlowLayout 的特点如下: 组件按照添加的顺序依次排列,并自动换行。 默认情况下,组件在容器中居中对齐。 组件...