快速业务通道

组织SWT/JFace控件的利器:Layout - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
ZONTAL);   layout.spacing = 30;   layout.marginLeft = 30;   layout.marginTop = 30;   shell.setLayout(layout);   RowData rowData = new RowData();   rowData.height = 50;   rowData.width = 100;   // 向shell添加控件   Button button1 = new Button(shell, SWT.PUSH);   button1.setText("按钮1");   button1.setLayoutData(rowData);   Button button2 = new Button(shell, SWT.PUSH);   button2.setText("按钮2");   Button button3 = new Button(shell, SWT.PUSH);   button3.setText("按钮3");   shell.open();   while (!shell.isDisposed())   {    if (!display.readAndDispatch())    {     display.sleep();    }   }   display.dispose();  } }

图3是使用RowLayout的效果图

组织SWT/JFace控件的利器:Layout - 编程入门网

图3 RowLayout效果图

可以在两个地方设置和RowLayout相关的数据,一个是RowData,它可以设置控件的大小。另外一个就是RowLayout本身,它可以设置控件开始排列的起点坐标(marginLeft和marginTop)、以及控件之间的间距等信息(spacing)。在RowLayout中有个很重要的属性justify。这个属性默认是false。当它为true时,将自动调整行或整列的控件,使其尽量占满一行或一列。

组织SWT/JFace控件的利器:Layout(3)

时间:2010-04-15 天极

GridLayout

GridLayout是SWT中最重要的布局。这个布局十分强大,它可以满足大多数的需要。而且它的网络可以通过Composite对象进行嵌套。GridLayout有两个构造函数。一个是默认的构造函数public GridLayout()。另外一个需要两个函数public GridLayout(int numColumns, boolean makeColumnsEqualWidth)。其中numColumns是这个网格的列数,而另外一个参数将使每一列等宽。下面的代码是一个完整的关于GridLayout的例子。

package layout; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*; public class TestGridLayout {  public static void main(String[] args)  {   Display display = new Display();   Shell shell = new Shell(display);   shell.setText("GridLayout演示");   GridLayout layout = new GridLayout();   layout.numColumns = 3;   layout.makeColumnsEqualWidth = true;   shell.setLayout(layout);   // 建立左上角的按钮   GridData data = new GridData(GridData.FILL_BOTH);   data.widthHint = 200; //按钮的初始宽度为200   Button one = new Button(shell, SWT.PUSH);   one.setText("按钮1");   one.setLayoutData(data);   // 建立一个Composite对象,并在上面放三个按钮   Composite composite = new Composite(shell, SWT.NONE);   data = new GridData(GridData.FILL_BOTH);   data.horizontalSpan = 2; // Composite的占两个Cell   composite.setLayoutData(data);   layout = new GridLayout();   layout.numColumns = 1;   layout.marginHeight = 15;   layout.marginRight = 150;   composite.setLayout(layout);   // 建立第二个按钮   data = new GridData(GridData.FILL_BOTH);   Button two = new Button(composite, SWT.PUSH);   two.setText("按钮2");   two.setLayoutData(data);   // 建立第三个按钮   data = new GridData(GridData.HORIZONTAL_ALIGN_END);   Button three = new Button(composite, SWT.PUSH);   three.setText("按钮3");   three.setLayoutData(data);   // 建

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号