swing学习笔记:GridBagLayout
gridx,gridy
这个控制的其实就是坐标。
指定组件左上角的行和列。最左列的地址为 gridx=0,顶行的地址为 gridy=0。使用 GridBagConstraints.RELATIVE(默认值)来指定将组件放置在刚刚添加到容器中的组件的右侧(对于 gridx)或正下方(对于 gridy)。我们建议为每个组件指定 gridx 和 gridy 值,而不仅仅是使用 GridBagConstraints.RELATIVE
;这往往会导致更可预测的布局。
gridwidth, gridheight
其实就是控制合并单元格用的。
指定组件显示区域中的列数(网格宽度)或行数(网格高度)。这些约束指定组件使用的单元数,而不是使用的像素数。默认值为1。
请使用GridBagConstraints.REMAINDER指定组件是其行(网格宽度)或列(网格高度)中的最后一个。
使用GridBagConstraints.RELATIVE指定该组件是其行(网格宽度)或列(网格高度)中倒数第二个组件。
我们建议为每个组件指定gridwidth
和gridheight
值,而不仅仅是使用 GridBagConstraints.RELATIVE 和 GridBagConstraints.REMAINDER;这往往会导致更可预测的布局。
注意:
GridBagLayout不允许组件跨越多行,除非组件位于最左边的列中,或者您为组件指定了正的gridx和gridy值。
fill
本质属于外部填充
当组件的显示区域大于组件请求的大小时,用于确定是否以及如何调整组件的大小。
有效值(定义为GridBagConstraints常量)包括
NONE(默认值)
。HORIZONTAL
(使组件足够宽以水平填充其显示区域,但不更改其高度)。VERTICAL
(使其足够高以垂直填充其显示区,但不改变其宽度)和BOTH(使组件完全填充其显示面积)。BOTH
使组件完全填满其显示区域。
weight – 权重
Weightx
和 Weighty
其实是个比值。好处就是当框架调整后,其不会变形。如果用ipad这种固定的,容易变形。
如果面板(中间容器Panel
)内的空间大于所包含的组件的首选限制,则weightX和weighty用于将额外的空间分配给单个组件。
使用0.0到1.0的值(认为这是一个百分比)。
weightX
是水平间距
weighty
是垂直间距
桌面中最常见的情况是是侧窗格保持固定尺寸(weightx/weighty= 0.0),并且中央窗格占据了剩余的空间(weightx/weighty = 1.0)。但是,使用变体(0~1之间的小数),您可以完全控制应用程序在框架大小更改时如何调整单个组件的大小。
ipadx, ipady
可看做是 组件的内边距,指定组件的最小宽度和高度。可确保组件不会过分收缩。
指定内部填充:对组件最小大小的添加量。默认值为零。
组件的宽度将至少为其最小宽度加上 ipadx2 像素,因为填充适用于组件的两侧。
同样,组件的高度将至少为其最小高度加上 ipady2 像素。
ipad 和 weight 的区别?
ipadx 是添加到宽度的固定量。所以会影响框架打包时组件的宽度。
weightx 控制列随着包含组件的面板宽度的变化而增长/收缩的程度。因此,只有当框架可见并调整框架大小时,才会注意到效果。
参考地址:Differentiate weightx and ipadx in GridBagConstraints (Java)
insets
指定组件的外部填充(即:外边距)——组件与其显示区域边缘之间的最小空间量
。该值被指定为一个 Insets 对象。默认情况下,每个组件都没有外部填充。
anchor
如果不打算填充可以通过anchor指定将组件放置在单元中的位置,缺省为将其放在单元的中部。
组件 在 显示区域内 的位置(对齐方式)
当组件小于其显示区域时使用,以确定放置组件的位置(在区域内)。
有效值(定义为 GridBagConstraints 常量)为 CENTER(默认值)
、PAGE_START
、PAGE_END
、LINE_START
、LINE_END
、FIRST_LINE_START
、FIRST_LINE_END
、LAST_LINE_END
和 LAST_LINE_START
。
下面是这些值如何在具有默认的从左到右组件方向的容器中解释的图片。
绝对值 | 相对于方向的值 | 相对于基线的值 |
---|---|---|
NORTH | PAGE_START | BASELINE |
SOUTH | PAGE_END | BASELINE_LEADING |
WEST | LINE_START | BASELINE_TRAILING |
EAST | LINE_END | ABOVE_BASELINE |
NORTHWEST | FIRST_LINE_START | ABOVE_BASELINE_LEADING |
NORTHEAST | FIRST_LINE_END | ABOVE_BASELINE_TRAILING |
SOUTHWEST | LAST_LINE_START | BELOW_BASELINE |
SOUTHEAST | LAST_LINE_END | BELOW_BASELINE_LEADING |
CENTER(默认值) | BELOW_BASELINE_TRAILING |
说明:
- anchor其实和ipad是类似的,只不过ipad需要我们手动控制大小,而anchor是内置了些常量。
参考地址:
How to Use GridBagLayout
Java Swing GridBagLayout网格袋布局的实现
https://blog.nowcoder.net/n/42f2b40147b24f4684814650a2a947b8
swing学习笔记:GridBagLayout相关推荐
- Swing学习笔记目录
本篇文章总结一下全部的Swing笔记,算得上是一个大纲了吧. 本篇笔记目录全部摘抄自网上系列教程,由本人整合而来,也算是记录一下自己的学习经历.要转载的请注明出处,谢谢. Swing学习笔记 1. S ...
- java给界面添加滚动条_Java Swing学习笔记:要求会默写或熟练的,GUI,控件,设置列或行,加滚动条,新界面...
GUI:Java的图形化用户界面 学习其控件的使用 JLabel(文本控件),JTextField(文本框),JPassworldField(密码框),JButton(普通按钮) JRadioButt ...
- Swing学习笔记1-----Swing组件类的层次
1. 从结构上划分 Swing 组件类分为两种,一种是JComponent类,一种是Windows类.其中windows类包含的是一些可以独立显示的组件,而JComponent类包含的是不可以独立显 ...
- Java swing 学习笔记自用
自用的,不是闲着无聊的建议不要看,不专业不认真不是分享态度,纯属自用. 看的b站视频:Java Swing入门课程_图形界面GUI编程_100集视频教程 讲得贼好贼细,不过时间太长了.而且没学过Jav ...
- Swing学习系列 -- Swing读书笔记目录
为了便于二次查找,学习,特列出Swing的目录如下 ++ Swing读书笔记 1-1Swing常用的package ++ Swing读书笔记 1-3版面管理器(Layout Menager) 1-3- ...
- java画笔覆盖在界面_Java学习笔记:swing画笔工具Graphics,刷新页面,键盘事件,随机数等【诗书画唱】...
Graphics:画笔工具 setColor:设置画笔颜色 DrawRect:空心矩形 fillRect:实心矩形 DrawOavl:空心圆 fillOavl:实心圆 DrawLine:画线(注意) ...
- 1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记
为什么80%的码农都做不了架构师?>>> 1.5 Hello, world! 解剖 -JSF实战 -hxzon -jsf学习笔记 既然已经对JSF能够解决什么问题有了初步理解, ...
- 学习笔记(八)——jQuery(二)
文章目录 一.class 操作 二.Tab 栏切换 三.JQ 动画 四.元素操作 4.1.html() .$()和 empty() 4.2.属性获取.设置.移除 4.3.补充:获取boolean类型的 ...
- 零基础学习Java开发,这些学习笔记送给你!
因为Java具备很多特点,并且在企业中被广泛应用为此很多小伙伴选择学习Java基础开发,但是零基础学习Java技术开发需要我们制定Java学习路线图对于我们之后的学习会非常有帮助. 零基础学习Java ...
最新文章
- python绘制三维曲面图-python中Matplotlib实现绘制3D图的示例代码
- linux 更新yum源 改成阿里云源
- 如何在Eclipse里显示BPMN格式的流程图
- 使用Arquillian测试安全的EJB
- 辽宁省大学生计算机系统与程序设计竞赛,2019CCF大学生计算机系统与程序设计竞赛(华东分赛区)在我校顺利举办...
- 谁说技术男不浪漫!90后程序员2天做出猫咪情绪识别软件
- 前端必须掌握30个CSS3选择器
- maven打包不执行测试用例
- 6Lua元表和冒号 self
- 360安全桌面壁纸被设为壁纸后的路径xp
- Android单机游戏保存进度,安卓游戏存档修改教程 | 手游网游页游攻略大全
- Jquery斗地主牌型验证插件 1.0版
- Linux常用命令大全 阶段性总结(一)
- 卡方 python_用Python进行卡方分析
- PHP解密小程序加密信息
- 学习C语言基本思路与参考书籍
- 历年至今TVB剧集目录(持续更新...我已看过的推荐)
- 【Undertale-传说之下】-中文补丁汉化steam
- 不畏浮云遮望眼,自缘身在最高层
- pandas -----变形(透视表、melt、stack、unstack),哑变量与因子变化
热门文章
- Ubuntu linux系统qemu启动handset黑屏问题的解决方法
- 《低代码PaaS驱动集团企业数字化创新白皮书》-未来展望
- 抛物样条曲线(最详细简单的解析)
- Posterior Cramér–Rao Bounds for Discrete-Time Nonlinear Filtering 阅读
- JQuery ajaxForm()与ajaxSubmit()的使用
- php文件阅读器下载,蓝白清爽阅读器软件官网模板
- 射频PCB板布局布线经验总结
- EOS RAM套路满满,你是因何而被套
- Android Softap Mac地址随机化
- 从 S3 到 DataZone,亚马逊云科技用16年讲完一个数据的故事