Java GridBagLayout(网格包布局管理器)
概述
- GridBagLayout(网格包布局管理器)是在网格基础上提供复杂的布局,是最灵活、 最复杂的布局管理器。GridBagLayout 不需要组件的尺寸一致,允许组件扩展到多行多列。每个 GridBagLayout 对象都维护了一组动态的矩形网格单元,每个组件占一个或多个单元,所占有的网格单元称为组件的显示区域。
- GridBagLayout 所管理的每个组件都与一个 GridBagConstraints 约束类的对象相关。这个约束类对象指定了组件的显示区域在网格中的位置,以及在其显示区域中应该如何摆放组件。除了组件的约束对象,GridBagLayout 还要考虑每个组件的最小和首选尺寸,以确定组件的大小。
GridBagConstraints
为了有效地利用网格包布局管理器,在向容器中添加组件时,必须定制某些组件的相关约束对象,GridBagConstraints。GridBagConstraints 对象的定制是通过下列变量实现的。
1.gridx 和 gridy
- 用来指定组件左上角在网格中的行和列。容器中最左边列的 gridx 为 0,最上边行的 gridy 为 0。这两个变量的默认值是GridBagConstraints.RELATIVE,表示对应的组件将放在前一个组件的右边或下面。
2.gridwidth 和 gridheight
- 用来指定组件显示区域所占的列数和行数,以网格单元而不是像素为单位,默认值为 1。
3.fill
- 指定组件填充网格的方式,可以是如下值:GridBagConstraints.NONE(默认值)、GridBagConstraints.HORIZONTAL(组件横向充满显示区域,但是不改变组件高度)、GridBagConstraints.VERTICAL(组件纵向充满显示区域,但是不改变组件宽度)以及 GridBagConstraints.BOTH(组件横向、纵向充满其显示区域)。
4.ipadx 和 ipady
- 指定组件显示区域的内部填充,即在组件最小尺寸之外需要附加的像素数,默认值为 0。
5.insets
- 指定组件显示区域的外部填充,即组件与其显示区域边缘之间的空间, 默认组件没有外部填充。
6.anchor
- 指定组件在显示区域中的摆放位置。可选值有 GridBagConstraints.CENTER(默认值)、GridBagConstraints.NORTH、GridBagConstraints.NORTHEAST、GridBagConstraints.EAST、GridBagConstraints.SOUTH、GridBagConstraints.SOUTHEAST、GridBagConstraints.WEST、GridBagConstraints.SOUTHWEST 以及 GridBagConstraints.NORTHWEST。
7.weightx 和 weighty
- 用来指定在容器大小改变时,增加或减少的空间如何在组件间分配,默认值为 0,即所有的组件将聚拢在容器的中心,多余的空间将放在容器边缘与网格单元之间。weightx 和 weighty 的取值一般在 0.0 与 1.0 之间,数值大表明组件所在的行或者列将获得更多的空间。
代码举例
//框体网格布局设置this.setLayout(new GridBagLayout());//设置网格包布局管理器where = new JTextField();//创建单行文本字段GridBagConstraints gbc = new GridBagConstraints();//如何放置,是否扩展等都靠GridBagConstraints创建对象来指定,即定制某些组件的相关约束对象gbc.gridx = 0;//网格第一行gbc.gridy = 0;//网格第一列gbc.weightx = 1;//权重是1,可随意设置,十分灵活gbc.fill = GridBagConstraints.HORIZONTAL;//将第一行第一列水平拉伸,往右挤。组件横向充满显示区域,但是不改变组件高度this.add(where,gbc);
Java GridBagLayout(网格包布局管理器)相关推荐
- 网格组布局管理器(GridBagLayout)网格包布局管理器
网格组布局管理器GridBagLayout(又称为网格包布局管理器),是GridLayout的加强版,它是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件沿垂直.水平或它们的基线对齐.每个Gr ...
- java 网格布局管理器,Java使用网格组布局管理器
package com.han; import java.awt.Container; import java.awt.GridBagConstraints; import java.awt.Grid ...
- java 网格包,求大神解答:JAVA网格包布局管理器小程序问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为什么我在这个程序上加入了一个Container对象就出问题了,求解答,要如何改: package A; import java.awt.*; impor ...
- java 网格包布局管理器_java :网格包布局管理器GridBagConstraints的应用
代码如下:···(略)publicclassApp12_13extendsJFrame{staticApp12_13frm=newApp12_13();staticJLabeljlab=newJLab ...
- 【Java】Java中GUI之布局管理器
[概念] 布局管理器:是对容器中的元素进行布局管理,按照一定的规则将容器里面的元素或组件进行排放. [分类] 1.FlowLayout:流式布局管理器 2.BorderLayout:边框布局管理器 3 ...
- 【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )
文章目录 一.GridLayout 网格布局 二.GridLayout 构造函数 三.GridLayout 网格布局代码示例 四.GridBagLayout 网格包布局 一.GridLayout 网格 ...
- GridBagConstraints(网格组布局管理器的使用)
GridBagConstraints特征: 由GridBagConstraints类实现的布局管理器称为网格组布局管理器,它实现了一个动态的矩形网格,这个矩形风格由无数个矩形单元格组成,每个组件可以占 ...
- java怎么设置卡片布局_在Java中使用卡片布局管理器的方法
在Java中使用卡片布局管理器的方法 发布时间:2020-12-03 16:05:18 来源:亿速云 阅读:85 作者:Leah 在Java中使用卡片布局管理器的方法?针对这个问题,这篇文章详细介绍了 ...
- java 布局管理器_有时在Java中,一个布局管理器是不够的
java 布局管理器 在开发Java Swing应用程序时,最经常的是,我们需要在多个嵌套面板中使用多个布局管理器. 这通常不是问题,被认为是几乎所有人类已知语言的所有UI开发的常规做法. 但是,大多 ...
最新文章
- 后台获取视图对应的字符串
- HLSL Texture Object Sample 的一些笔记
- 【收藏】win10利用WSL2安装docker的2种方式
- Android的配置界面PreferenceActivity
- Please ensure that adb is correctly located at……问题解决方案
- 同学之间互相出的一些有趣题目
- 安装electron-react-boilerplate遇到的问题
- 服务器系统安装及部署pdf,服务器操作系统安装说明.pdf
- 《Storm实时数据处理》一导读
- 〖强暴贴〗号称全国最大开发者网络的CSDN多次出现低级错误 验证码形同虚设 开发人员竟是MVP
- MARIADB数据库服务器
- 通过vdi备份linux,Linux_Ubuntu下VirtualBox的vdi文件克隆方法,使用VirtualBox时遇到一个问题, - phpStudy...
- ViewFlipper和ViewPager的区别
- 表的自然连接(数据结构链表链接)
- 台达 PLC 浮点数 乘法和除法
- 极空间家庭私有云,您的数字资产大管家
- CORDIC算法详解(一)- CORDIC 算法之圆周系统之旋转模式( Rotation Mode )
- 德力捷读码器-Matrix 320 ID-NET-软件设置教程
- 混凝土静力受压弹性模量试验计算公式_谈混凝土静力受压弹性模量
- Ubuntu18.04 :cubeMx + vscode+stLink 踩坑
热门文章
- 安卓adb工具的安装方法
- TinyOS 学习第一周-Ubuntu-10.10下安装TinyOS-2.1.1
- locked肆虐,不少人已经中招-是否也有你
- 创建新Docker容器时出现“The container name “/xxx“ is already in use by container xxxxxxxxxxx...”问题的解决办法
- 图像的Blob分析--连通域分析
- Mysql之using用法
- ORACLE 年龄计算到月份
- java i=i++和j=i++的区别
- MarkDown语法详解:标题、字体、列表、引用、图片、表格、代码、超链接、公式
- python爬虫——Request之get请求和post请求