对GridLayout和GridData的一点改进

  用Eclipse做Java开发的朋友,如果开发过程中用到过SWT,想必一定用过GridLayout。
  关于如何使用Layout,不是本文的重点。这篇文章Understanding Layouts in SWT 写得很清楚,我没必要赘述。本文仅仅是介绍如何使用我改进后的CGridLayout和CGridData,至于实现,我已经共享了源代码。
  GridLayout是我们用得最多的Layout,使用它几乎能够实现所有的布局。不过,在使用的时候,如果希望某个Control能够水平填充 (也就是说horizontalAlignment = FILL),但是有希望它的宽度有个最大值的时候,GridLayout和GridData是无法做到这点的。于是,我写了这两个类 CGridLayout和CGridData。它们完全具有GridLayout和GridData的功能,除此之外,当 CGridData.horizontalAlignment == CGridData.FILL的时候,CGridData.maximumWidth就起作用了。同理,如果 CGridData.verticalAlignment == CGridData.FILL,那么,CGridData.maximumHeight就开始起作用。
  使用起来很方便,举例:

   parentControl.setLayout( new  CGridLayout());
   Combo combo  =   new  Combo(parentControl, SWT.READ_ONLY );
   CGridData cgdata  =   new  CGridData( CGridData.HORIZONTAL_ALIGN_FILL );
   cgdata.maximumWidth  =   180 ;
   combo.setLayoutData( cgdata );
 

  这样,你就可以在parentControl上面创建了一个Combo,这个Combo是水平填充的,但是最大宽度不超过180。
  对源代码感兴趣的朋友点击<<此处>> 下载。你也可以完全免费使用它,不过你必须遵循Eclipse Public License v1.0 。如果你发现它有什么缺陷,或者有好的改进方法,欢迎与我联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值