필 레이아웃(FillLayout)
필 레이아웃은 책을 쌓아 올리는 것과 유사한 방법의 레이아웃이며, 자식 컨트롤을 같은 간격으로 배치하여 Composite 내의 빈 공간을 채우는 간단한 레이아웃입니다.
Composite의 setLayout() 메서드는 자식 컨트롤을 배열하려고 하는 Composite와 레이아웃을 연결하는데 사용합니다.
FillLayout의 생성자는 매개 변수 없이 호출하거나 하나의 스타일 매개 변수와 함께 호출할 수 있습니다. 디폴트 생성자는 SWT.HORIZONTAL 스타일을 사용하며, 스타일 매개 변수는 2종류로 나뉘어 집니다.
- SWT.HORIZONTAL : 왼쪽에서 오른쪽으로 배열합니다. 가로 정렬
 - SWT.VERTICAL : 위에서 아래로 배열합니다. 세로 정렬
 
▶ 예제코드
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
 | 
package com.swtjface.Ch6; 
import org.eclipse.swt.SWT; 
import org.eclipse.swt.layout.FillLayout; 
import org.eclipse.swt.widgets.Button; 
import org.eclipse.swt.widgets.Composite; 
public class Ch6FillLayoutComposite extends Composite { 
  public Ch6FillLayoutComposite(Composite parent) { 
  super(parent, SWT.NONE); 
//  FillLayout layout = new FillLayout(SWT.VERTICAL); 
  FillLayout layout = new FillLayout(SWT.HORIZONTAL); 
  setLayout(layout); 
  for (int i = 0; i < 8; ++i) { 
   Button button = new Button(this, SWT.NONE); 
   button.setText("Sample Text"); 
  } 
 } 
} 
 | 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
 | 
package com.swtjface.Ch6; 
import org.eclipse.jface.window.ApplicationWindow; 
import org.eclipse.swt.widgets.Composite; 
import org.eclipse.swt.widgets.Control; 
import org.eclipse.swt.widgets.Display; 
public class FillLayoutTest extends ApplicationWindow { 
 public FillLayoutTest() { 
  super(null); 
 } 
  protected Control createContents(Composite parent) { 
  Ch6FillLayoutComposite flc = new Ch6FillLayoutComposite(parent); 
   getShell().setText("Widget Window"); 
  return parent; 
 } 
  public static void main(String[] args) { 
  FillLayoutTest tc = new FillLayoutTest(); 
  tc.setBlockOnOpen(true); 
  tc.open(); 
  Display.getCurrent().dispose(); 
 } 
} 
 | 
▶ 실행결과
SWT.VERTICAL 의 경우
SWT.HORIZONTAL 의 경우


댓글 없음:
댓글 쓰기