- 1
新建一个swt-java项目,项目标名称为javaformlayout.
- 2
在项目中新建一个shell窗口,名子为javaformlayout.java。
- 3
打开这个javaformlayout.java这个文件,把shell窗体的结构改为formlayout.
shell.setLayout(new FormLayout());
- 4
这个FormAttachment类的用法:
FormAttachment(父组件的宽、高比例,偏移量)
- 5
在shell增添一个面板,新建FormData结构样式:
Composite com=new Composite(shell,SWT.BORDER);
FormData fd=new FormData();
fd.left=new FormAttachment(0,10);
fd.top=new FormAttachment(0,10);
fd.right=new FormAttachment(100,-10);
fd.bottom=new FormAttachment(100,-150);
com.setLayoutData(fd);
- 6
增添一个text组件,把左边和com组件的左边一样,偏移量为0。text组件top和com组件底边相差10像素。
Text t1=new Text(shell,SWT.BORDER);
FormData fd1=new FormData();
fd1.top=new FormAttachment(com,10);
fd1.left=new FormAttachment(com,0,SWT.LEFT);
t1.setLayoutData(fd1);
- 7
增添一个text组件,把top的高和t1组件的top高设置一样,左边的值和t1组件的右边相差10.
Text t2=new Text(shell,SWT.BORDER);
FormData fd2=new FormData();
fd2.top=new FormAttachment(t1,0,SWT.TOP);
fd2.left=new FormAttachment(t1,10,SWT.RIGHT);
t2.setLayoutData(fd2);
- 8
增添text组件,top边和t2组件top一样,left边和t2组件right边相差10,right边和com组件的right一样。
Text t3=new Text(shell,SWT.BORDER);
FormData fd3=new FormData();
fd3.top=new FormAttachment(t2,0,SWT.TOP);
fd3.left=new FormAttachment(t2,10,SWT.RIGHT);
fd3.right=new FormAttachment(com,0,SWT.RIGHT);
t3.setLayoutData(fd3);