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布局实例