Java 界面设计 细节

布局

GridBagLayout()

基本构造原型:public GridBagLayout();

GridBagLayout 是所有AWt布局管理器中,最复杂,同时它的功能也是最强大的。这种现象源于它所提供的众多的可配置选项,使用者几乎可以完全地控制容器的布局方式。下面了解一下其基本思想。

GridBagLayout从它的名字中,可以猜到,它同GridLayout一样,在容器中以网格形式来管理组件。但,GridBagLayout功能要比其强大得多。

1.GridBagLayout管理的所有行和列都可以是大小不同的。

2.GridLayout把每个组件先知道一个单元格内,而,GridBagLayout并不是这样:组件在容器中可以占据任意大小的矩形区域。

GridBagLayout通常由一个专用类来对它的布局行为进行约束,该类叫GridBagConstraints。其中,所有的成员都是public的,因此,要学好如何使用GridBagLayout,首先要了解有哪些约束变量,以及如何设置这些约束变量。注意:看起来有很多约束需要进行设计,但,事实上,许多约束只需设置一次,并对多个组件重用,每次添加组件时,只有少数的项需要修改。


实践总结:

在GridBagLayout中运用JTextField时候,GridBagLayout会忽略JTextField所指定的参数,按照GridBagLayout自己默认来修改JTextField的大小。不过,可以运用下列方法实现对JTextField的控制。方法如下:

JTextField jtfName;

Dimension preferredSize = new Dimension(200,30);//GridBagLayout会把这个属性加以运用
Dimension maximumSize = new Dimension(20,20);//GridBagLayout会把这个属性忽略

jtfName.setPreferredSize(preferredSize);

jtfName.setMaximumSize(maximumSize);

直观说明:

这里就是能够实现让GridBagLayout遵从我们的设定。将JTextField设定一个最大值,即,调用其setMaximumSize()方法,一旦我们调用了该方法,只要我们有调用了PreferedSize,那么GridBagLayout就会按照setPreferredSize()的方式进行绘制而忽略最大值。<具体原理还需探究>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值