대개는 이 방법이 크기 조정 이벤트 리스너에서 간단한 위지트(widget) 위치 지정을 처리하는 데 가장 좋은 방법입니다. 그러나 위지트(widget)를 배치할 때 응용프로그램에서 사용하는 공통적인 패턴이 있습니다. 다른 많은 응용프로그램에서 다시 사용할 수 있는 구성 가능한 레이아웃 알고리즘으로 이 패턴을 구성할 수 있습니다.
SWT에서는 하위 위지트(widget)의 위치와 크기를 컴포지트에서 조정할 수 있게 해주는 레이아웃을 정의합니다. 레이아웃은 Layout 추상 클래스의 서브클래스입니다. SWT 표준 레이아웃은 org.eclipse.swt.layout 패키지에 있습니다.
위지트(widget)의 크기와 위치를 조정할 경우 일반적인 정의가 사용됩니다.
레이아웃을 사용하는지 여부와 상관 없이 이 개념은 응용프로그램에 관련된 것입니다. 다시 사용하기 위해 크기 조정 기능을 패키지화하는 편리한 방법으로 레이아웃을 생각할 수 있습니다.
레이아웃에서는 다른 추가 개념을 소개합니다.
이 개념에 대한 자세한 설명과 그림은 SWT의 레이아웃 이해를 참조하십시오
다음 코드 스니펫은 상위 쉘의 크기로 레이블 크기를 조정하는 크기 조정 콜백을 사용하는 응용프로그램의 간단한 예를 보여줍니다.
Display display = new Display (); Shell shell = new Shell (display); Label label = new Label (shell, SWT.CENTER); shell.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { label.setBounds (shell.getClientArea ()); } });
다음 스니펫에서는 레이아웃을 사용하여 같은 효과를 얻습니다.
Display display = new Display (); Shell shell = new Shell (display); Label label = new Label (shell, SWT.CENTER); shell.setLayout(new FillLayout());
이 간단한 예의 경우에도 레이아웃을 사용하면 응용프로그램 코드가 줄어듭니다. 더 복잡한 레이아웃의 경우 더 간단해집니다.
다음 표는 SWT에서 제공되는 표준 레이아웃을 요약한 것입니다.
레이아웃 |
목적 |
---|---|
FillLayout | 제어를 하나의 행이나 열에 배치하고 같은 크기로 만듭니다. |
FormLayout | 각각의 하위 요소에 대해 왼쪽, 맨 위, 오른쪽 및 맨 아래 에지를 선택적으로 구성하기 위해 FormAttachments를 사용하여 하위 요소 위치를 지정합니다. |
GridLayout | 행 및 열로 하위 요소 위치를 지정합니다. |
RowLayout | 가로 행이나 세로 열에서 하위 요소 위치를 지정합니다. |