Eclipse开发经典教程:SWT布局(二)

  RowLayout布局

相对于FillLayout来说,RowLayout比较灵活,功能也比较强。用户可以设置布局中子元素的大小、边距、换行及间距等属性。

RowLayout的风格

RowLayout中可以相关的属性设定布局的风格,用户可以通过“RowLayout.属性”的方式设置RowLayout的布局风格,RowLayout中常用的属性如下。

 ●Wrap:表示子组件是否可以换行(true为可换行)。
 ●Pack:表示子组件是否为保持原有大小(true为保持原有大小)。
 ●Justify:表示子组件是否根据父组件信息做调整。
 ●MarginLeft:表示当前组件距离父组件左边距的像素点个数。
 ●MarginTop:表示当前组件距离父组件上边距的像素点个数。
 ●MarginRight:表示当前组件距离父组件右边距的像素点个数。
 ●MarginBottom:表示当前组件距离父组件下边距的像素点个数。
 ●Spacing:表示子组件之间的间距像素点个数。

另外,RowLayout可以通过RowData设置每个子组件的大小,例如“button.setLayoutData (new RowData(60, 60))”将设置buton的大小为(60,60),RowLayout风格如表2所示。

RowLayout布局实例

RowLayout是很常用的布局,而且不太复杂,下面通过实例展示RowLayout的布局效果,代码如例程2所示。
例程2 RowLayoutExample.java

   
   
public class RowLayoutExample { Display display; Shell shell; RowLayoutExample() { display = new Display(); shell = new Shell(display); shell.setSize( 250 , 150 ); shell.setText( " A RowLayout Example " ); // 新建RowLayout布局 RowLayout rowLayout = new RowLayout(); // 子组件保持原有大小 rowLayout.pack = true ; // 子组件可换行 rowLayout.wrap = true ; // 根据父组件信息调整位置 rowLayout.justify = true ; // 左边距为30像素 rowLayout.marginLeft = 30 ; // 上边距为30像素 rowLayout.marginTop = 30 ; // 设定父组件RowLayout布局 shell.setLayout(rowLayout); final Text t = new Text(shell, SWT.SINGLE | SWT.BORDER); final Button b = new Button(shell, SWT.BORDER); final Button b1 = new Button(shell, SWT.BORDER); // 设置子组件大小 b1.setLayoutData( new RowData( 60 , 60 )); b.setText( " OK " ); b1.setText( " Cancel " ); shell.open(); while ( ! shell.isDisposed()) { if ( ! display.readAndDispatch()) display.sleep(); } display.dispose(); } public static void main(String[] argv) { new RowLayoutExample(); } }

程序中指定了边距和子组件的间距,以及子组件大小的信息,程序运行效果如图2所示。


图2 RowLayout布局实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值