FillLayout是简单而且很常用的布局,下面通过实例展示FillLayout的布局效果,代码如例程1所示。
例程1 FillLayoutSample.java
/** * 为了节省篇幅,所有的import类已经被注释 * 读者可以通过ctrl+shift+o快捷键,自动引入所依赖的类 * 如果有问题可发邮件到ganshm@gmail.com * */ public class FillLayoutSample { Display display = new Display(); Shell shell = new Shell(display); public FillLayoutSample() { //新建FillLayout布局,设置子组件与水平方式排列 FillLayout fillLayout = new FillLayout(SWT.HORIZONTAL); //指定子组件的上、下边距为多少像素 fillLayout.marginHeight = 25; //指定子组件的左、右边距为多少像素 fillLayout.marginWidth = 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(); } }
程序中通过marginHeight、marginWidth和spacing指定了边距和子组件的间距,程序运行效果如图1所示。
图1 FillLayout布局实例