快速业务通道

Eclipse开发经典教程之SWT布局 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
ginWidth = 25; //指定子组件之间距离为多少 像素 fillLayout.spacing = 10; //设定父组件的布局方式 shell.setLayout(fillLayout); Button button1 = new Button(shell, SWT.PUSH); button1.setText("button1"); Button button2 = new Button(shell, SWT.PUSH); button2.setText("button number 2"); Button button3 = new Button(shell, SWT.PUSH); button3.setText ("3"); shell.pack(); shell.open(); while (! shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep (); } } display.dispose(); } public static void main (String[] args) { new FillLayoutSample(); } }

Eclipse开发经典教程之SWT布局(3)

时间:2011-04-11 阿甘

程序中通过 marginHeight、marginWidth和spacing指定了边距和子组件的间距,程序运行效果如图1所示 。

Eclipse开发经典教程之SWT布局 - 编程入门网

图1 FillLayout布局实例

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所示。

Eclipse开发经典教程之SWT布局 - 编程入门网

Eclipse开发经典教程之SWT布局(4)

时间:2011-04-11 阿甘

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所示。

Eclipse开发经典教程之SWT布局 - 编程入门网

图2 RowLayout布局实例

Eclipse开发经典教程之SWT布局

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号