Java GUI布局管理器介绍

举报
开发者学堂小助 发表于 2017/08/25 15:12:19 2017/08/25
【摘要】 Java GUI布局管理器介绍

1.FlowLayout:流式布局管理器,是Panel类型容器的默认布局管理器。
布局效果:组件在容器中按加入顺序逐行定位,行内从左到右,一行满后换行,默认对齐方式为居中对齐。
常用的构造方法:
Public FlowLayout():
默认
Public FlowLayout(int align):
创建FlowLayout并设置对齐方式。
Public FlowLayout(int align ,int hgap, int vagp):
创建FlowLayout并设置对齐方式,组件的垂直和水平间距。
FlowLayout.LEFT 
左对齐
FlowLayout.RIGHT 
右对齐
FlowLayout.CENTER 
居中对齐

2.BorderLayout 边界布局管理器,是Window及子类(Frame,Dialog)的默认布局管理器。
组件布局效果:将整个容器分为:东,西,南,北,中五部分,组件只能被添加到指定的区域,默认加的Center区域,每个区域只能加入一个组件。东,西为垂直缩放,南,北为水平缩放。
构造方法:
Public BorderLayout():
创建默认布局管理器。
Public BorderLayout(int h,int v):
指定水平和垂直间距.
用一下5个常量来表示5个地域
BorderLayout.E A S T
BorderLayout.WE S T
BorderLayout.NORTH
BorderLayout.SOUTH
BorderLayout.CENTER
例如:  f.add(button,"Sourth") == f.add(button,BorderLayout.SOURTH) 但第二种方法相对要好些。

3.GridLayout 网格布局。
布局效果:将容器划分为规则的矩形网格,每个单元格大小相等.
Public GridLayout();
默认设置,所有组件在同一行中,各占一列.
Public GridLayout(int rows,int cols):
指定行数和列数.
Public GridLayout(int rows,int cols, int h,int v):
指定行数,列数和垂直,水平间距.

4.CardLayout:卡片式布局。
布局效果:将多个组件在同一容器区域内交替显示,相当于多张卡片叠在一起,只有最上面一张可见。
常用方法:
Public void first(Contains paren)   
翻转到指定容器的第一张卡片.
public void La s t(Contains paren)   
翻转到指定容器的最后一张卡片.
public void Previous(Contains paren)   
翻转到指定容器的前一张卡片.
Public void next(Contains paren)
翻转到指定容器的下一张卡片.
public void show(Contains paren,String name)
翻转到已添加到此布局的具有指定名称的组件,如果不存在,则不会发生任何操作.

5.BoxLayout布局管理器: BoxLayout布局能够允许将控件按照X轴(从左到右)或者Y轴(从上到下)方向来摆放,而且沿着主轴能够设置不同尺寸。

6. GridBagLayout布局管理器:GridLayout的基础上发展起来的。因为GridBagLayout中每个网格都相同大小并且强制组件与网格大小相同,使得容器中的每个组件也都是相同的大小,显得很不自然,而且组件假如容器中必须按照固定的行列顺序,不够灵活。在GridBagLayout中,可以为每个组件指定其包含的网格个数,组件可以保留原来的大小,可以以任意顺序随意地加入容器的任意位置,从而实现真正自由地安排容器中每个组件的大小和位置。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200