Java GUI 布局管理器

      Java中可以使用java.awt.Container类及其子类来显示组件布局管理器(Layout Manager)负责管理容器中组件的布局 ,布局管理是决定容器中组件的大小和位置。要为容器分配一个布局管理器,需要创建管理器的实例并传给Container类中定义的setLayout方法,使用Container中定义的重载add()方法可以向容器中添加组件(Component),则该容器作为Component的父容器。调用add()方法后,容器会将组件添加到容器的列表中并调用布局管理器的addLayoutComponent()方法,使用指定的约束对象将组件添加到此容器的布局中。布局管理器在判断组件尺寸时需要考虑容器的尺寸,因此会调用组件的getPrefeffedSize()、getMinimumSize()和getMaxmumSize()方法,不过布局管理不会一一考虑这些方法的返回值,某些情况下,布局管理器会忽略这些值。每个容器都有几个插入值(inset)表示容器边上一圈保留像素数量,该区域不用于显示子组件,通常用这几个值描述容器的边框宽度(一般是四个:对应上下左右,不过有时还会保留额外的空间,例如JFrame和JDialog都在上边框中包含一个标题栏,可以设置相应的插入值来保留这块空间),布局管理器在计算容器的可用空间时,会从容器宽度中减去左右插入值,并从高度中减去上下插入值,另外布局管理器在排放子组件时会将组件放在容器插入区域的内侧,保证组件不会覆盖到容器边上的保留空间。
        Java 核心类中包含的众多布局管理器提供了足够的灵活性,下面列出了Java中布局管理器类,大致上,这几个类的复杂程度从最简单到最复杂排列。

 

 常用布局管理器  中文简称  常用组件的默认
CardLayout卡片布局  
FlowLayout 流布局  JPanel
BorderLayout边框布局                     JFrame(内容窗格),JDialog(内容窗格),JApplet(内容窗格)
GridLayout格子布局  
GridBagLayout网格组布局
 
BoxLayout箱式布局 Box

 

使用布局管理器时,可考虑如下:
1.如何构造布局管理器实例
2.添加子组件时可以指定的约束
3.每个子组件的尺寸计算
4.每个子组件的位置计算
5.容器空间大于或者小于显示子组件所需空间的情况(如窗体放大或缩小)
6.布局管理器如何计算容器的getPrefeffedSize()、getMinimumSize()和getMaxmumSize()方法返回值

 

参考:1.Pro Java Programming(Second Edition)

         2.Core Java I

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值