java容器的布局_java布局学习 (三)

前文已经讲了常用的4个布局了,今天再介绍最后的三个布局:

5、CardLayout

6、BoxLayout

7、空白布局null

(五)CardLayout   纸牌布局

首先这种布局不是二维布局,而是一种伪三维的布局。

容器将所有的二维控件比作一张张的纸牌(card),放在容器当中。然后根据需要,返回不同位置的控件(纸牌)。但是从界面样式上看,这就是简单的panel。

构造函数有如下两种:

1 CardLayout()2 CardLayout(int hgap, int vgap) //参数表示卡片与边界的距离

同时提供了五个最常用的API:

first(Container target)//第一张卡牌

last(Container target)//最后一张卡牌

previous(Container target)//前一张卡牌

next(Container target)//后一张卡牌

show(Container target, String name)//根据卡牌(控件)的名字,找到指定的卡牌,并且显示

效果如图:

3a9c8fcbdd8eee6d60ef81871c012fe4.png

对每一个button绑定一个事件,这个事件可以调用容器中显示的页面。

容器中的控件也可以绑定其他事件,不单单是用来显示的。

(六)BoxLayout 箱布局

GridLayout功能不够强大,GridBagLayout使用起来又过于繁琐。为此Swing专门提出箱布局BoxLayout。

构造函数如下:

1 BoxLayout(Container target, int axis)

Container target是要设置的容器,

axis 代表方向,是横向还是纵向

BoxLayout的效果如下图:

6b1da7bab9ee13fd2ed3d33e6052897b.png

BoxLayout往往与Box容器一同使用:

CreateHorizontalBox 创建一个水平布局的Box容器

CreateVerticalBox 创建一个垂直布局的Box容器

在Box内部我们可以定义三种空白组件,来调整容器内部的布局:

Glue (橡胶):组件可以弹性的收缩或扩张(在某一个方向上)

Strut(支架):组件是固定大小的(在某一个方向上)

通过这三个空白组件,填充在其他组件的间隔位置,保证窗体在拖动时,组件的size和location可以友好的显示出来。

(七)空白布局null

空白布局是什么呢,就是GUI的界面不采取任何布局,组件在GUI界面中使用的是绝对定位。

采用如下的形式,移除原有的布局形式:

1 setLayout(null)

同时通过如下方法设置坐标和尺寸:

1 setSize() //设置尺寸

2 setBounds() //设置坐标和尺寸

这种方式是通过直接设定坐标和尺寸的暴(防盗连接:本文首发自http://www.cnblogs.com/jilodream/ )力的形式来进行布局的。所以设置起来非常灵活,控件之间的的距离和大小不存在互相影响的情况。但是由于这种方式采用的都是绝对的数据,这也导致GUI界面在跨平台的场景下,显得非常被动。

b00e7b60c4370f5e253ad4fb99a6b695.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值