- 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);