필 레이아웃(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 의 경우
댓글 없음:
댓글 쓰기