2013년 12월 25일 수요일

SWT - 레이블(Label)




레이블(Label)


Label 클래스는 문자열, Image 등 정적 정보를 GUI에 표시합니다. 



<스타일>

Label 객체에서 텍스트와 관련된 스타일은 문자열의 배치를 다루는데, SWT.CENTER, SWT.LEFT, SWT.RIGHT의 값으로 표시합니다. 그리고 Label을 구분선으로 표시할 때에는 SWT.SEPARATOR 스타일을 설정하면 됩니다. 이 구분자는 수평(SWT.VERTICAL)이나 수직(SWT.HORIZONTAL)으로 설정할 수 있으며, 그림자 표시(SWT.SHADOW_IN, SHADOW_OUT, SWT.SHADOW_NONE)도 할 수 있습니다.



<예제코드>


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
28
29
30
31
32
33
34
35
36
37
38
39
package com.swtjface.ch3; 
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
/**
 * 2010.05.19
 * Label Exaple 
 * @author cremazer
 */
public class HelloSWT {
 public static void main(String[] args) {
  //할당과 초기화
  Display display = new Display();
  Shell shell = new Shell(display);
  shell.setText("Label Example");
  shell.setSize(400, 250);
  
  
  //쉘에 label 추가하기
  Label shadow_label = new Label(shell, SWT.CENTER|SWT.BORDER);
  shadow_label.setText("SWT.CENTER");
  shadow_label.setBounds(30,60,110,15);
  
  Label shadow_sep = new Label(shell, SWT.SEPARATOR | SWT.SHADOW_OUT | SWT.HORIZONTAL);
  shadow_sep.setText("SWT.SHADOW_OUT");
  shadow_sep.setBounds(30,85,110,5);
  
  //GUI 작동
  //shell.pack();
  shell.open();
  while(!shell.isDisposed()){
   if(!display.readAndDispatch()){
    display.sleep();    
   }
  }
  display.dispose();
 }
}



<결과>





  첫 번째 레이블 shadow_label 선언은 Label 객체를 생성하고, 텍스트를 가운데 정렬로 설정합니다. setText() 메서드로 레이블의 문자열을 설정하고, setBounds(int, int, int, int) 메서드로 쉘에서의 위치(x,y)와 크기(너비, 높이)를 설정합니다. SWT.BORDER 스타일은 레이블을 움푹 들어가게 보이는 효과를 보여줍니다.



  두 번째 레이블 shadow_sep 의 SWT.SEPARATOR 스타일은 구분자를 생성하고 SWT.SHADOW_OUT과 SWT.HORIZONTAL로 외양을 설정합니다.



그 외 GUI에서 Label 객체를 조작하는 기본 메서드는 아래의 표를 참고합니다.

레이블의 외관을 반환하고 조작하는 메서드



  레이블은 그 밖에 Font 나 Image를 보여줄 수 있으며, 사용자가 입력관련 기능을 추가 할 수 있는데, 이렇게 만들어진 것이 Button입니다.



참고 서적 : SWT/JFace in Action




댓글 없음:

댓글 쓰기