替代 SWT GridData 更简单有效的方法

        随便看看JFace 的package ,发现了一个名字很有意思的类GridDataFactory,可以用来代替SWT中GridData的使用,而且特别方便。以下直接copy了源代码前面的说明,使用很简单,看一下就明白了。求知欲望更强烈的可以看一下它的源代码。

 

*   //  Example 1: Typical grid data for a non-wrapping label
  *  
 
*       //  GridDataFactory version
  *      GridDataFactory.fillDefaults().applyTo(myLabel);
 
*  
 
*       //  Equivalent SWT version
  *      GridData labelData  =   new  GridData(GridData.HORIZONTAL_ALIGN_FILL  |  GridData.VERTICAL_ALIGN_FILL);
 
*      myLabel.setLayoutData(labelData);
 
*  
 
*   // /
  *   //  Example 2: Typical grid data for a wrapping label
  *  
 
*       //  GridDataFactory version
  *      GridDataFactory.fillDefaults()
 
*           .align(SWT.FILL, SWT.CENTER)
 
*             .hint( 150 , SWT.DEFAULT)
 
*             .grab( true false )
 
*           .applyTo(wrappingLabel);
 
*       
 
*       //  Equivalent SWT version
  *      GridData wrappingLabelData  =   new  GridData(GridData.FILL_HORIZONTAL  |  GridData.VERTICAL_ALIGN_CENTER);
 
*      wrappingLabelData.minimumWidth  =   1 ;
 
*      wrappingLabelData.widthHint  =   150 ;
 
*      wrappingLabel.setLayoutData(wrappingLabelData);
 
*  
 
*   //
  *   //  Example 3: Typical grid data for a scrollable control (a list box, tree, table, etc.)
  *  
 
*       //  GridDataFactory version
  *      GridDataFactory.fillDefaults().grab( true true ).hint( 150 150 ).applyTo(listBox);
 
*  
 
*       //  Equivalent SWT version
  *      GridData listBoxData  =   new  GridData(GridData.FILL_BOTH);
 
*      listBoxData.widthHint  =   150 ;
 
*      listBoxData.heightHint  =   150 ;
 
*      listBoxData.minimumWidth  =   1 ;
 
*      listBoxData.minimumHeight  =   1 ;
 
*      listBox.setLayoutData(listBoxData);
 
*  
 
*   /
  *   //  Example 4: Typical grid data for a button
  *
 
*       //  GridDataFactory version
  *      Point preferredSize  =  button.computeSize(SWT.DEFAULT, SWT.DEFAULT,  false );
 
*      Point hint  =  Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize);
 
*      GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).hint(hint).applyTo(button);
 
*
 
*       //  Equivalent SWT version
  *      Point preferredSize  =  button.computeSize(SWT.DEFAULT, SWT.DEFAULT,  false );
 
*      Point hint  =  Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize);
 
*      GridData buttonData  =   new  GridData(GridData.HORIZONTAL_ALIGN_FILL  |  GridData.VERTICAL_ALIGN_CENTER);
 
*      buttonData.widthHint  =  hint.x;
 
*      buttonData.heightHint  =  hint.y;
 
*      button.setLayoutData(buttonData); 

 

       类似的还有一个GridLayoutFactory。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值