2014년 1월 16일 목요일

SWT - GridLayout




그리드 레이아웃(GridLayout)


그리드 레이아웃은 행 레이아웃(RowLayout)의 모델을 기반으로 여러개의 행과 열을 사용할 수 있습니다. 


GridLayout의 생성자는 두 개의 매개 변수를 가집니다. 첫 번째 매개 변수는 열의 개수를 의미하여, 두 번째 매개 변수는 열의 공간을 균등하게 사용할지에 대한 부울 값입니다. 두 번째 매개 변수에 false를 설정하면, 각 열에 대해 필요한 최소한의 공간만을 사용하는 것입니다.



▶ 예제코드



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.swtjface.Ch6;
 
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
 
public class Ch6GridLayoutComposite extends Composite {
 
  public Ch6GridLayoutComposite(Composite parent) {
  super(parent, SWT.NONE);
 
   GridLayout layout = new GridLayout(4, false);
  setLayout(layout);
  for (int i = 0; i < 16; ++i) {
   Button button = new Button(this, SWT.NONE);
   button.setText("Cell " + (i<10?"0"+i:i));
  }
 }
}




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 GridLayoutTest extends ApplicationWindow {
 public GridLayoutTest() {
  super(null);
 }
 
  protected Control createContents(Composite parent) {
  Ch6GridLayoutComposite ca = new Ch6GridLayoutComposite(parent);
 
   getShell().setText("Widget Window");
  return parent;
 }
 
  public static void main(String[] args) {
  GridLayoutTest tc = new GridLayoutTest();
  tc.setBlockOnOpen(true);
  tc.open();
  Display.getCurrent().dispose();
 }
 
}



▶ 실행결과







댓글 없음:

댓글 쓰기