Hello SWT

Hello SWT


SWT를 이용한 첫 번째 Project로 기본 SWT 프로젝트 생성방법 및 Hello SWT 작성 방법입니다.


내용

  •  SWT Project 생성방법
  •  Hello SWT 예제

 

Example


Project생성


SWT/JFace Java Project 선택

  • WindowBuilder Plugin을 설치해야 나오게 됩니다.


Project 명 입력


HelloSWT 프로젝트 생성

  • Referenced Libraries에 SWT/JFace를 위한 라이브러리 자동추가
  • 이 점을 제외하고는 일반 java 프로젝트와 완전히 동일 





클래스 생성



[HelloSWT Class]

Display : 화면에는 보이지 않지만, OS와 Application 사이에 커뮤니케이션을 담당하는 객체 (이벤트 전달, 화면 갱신 등)

Shell : Display에 속해 있는 최상위 객체로 화면에 표시되는 모든 Widget은 Shell의 하위 요소로 속하여야 함.

.pack() : Shell을 하위 구성요소에 맞게 크기할당

Text : 실제 화면에 보여지게 될 Widget

.pack() : 자기 자신의 크기를 할당 (pack을 수행하지 않으면 화면에서 보이지 않음)

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
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
 
public class HelloSWT {
 
    public static void main(String[] args) {
        /* 할당과 초기화
         * GUI가 기본 플랫폼 자원에 접근 가능하도록 하고 위젯을보여주는 기본윈도우 생성
         */
        Display display = new Display();
        Shell shell = new Shell(display);
        
        /* 쉘에 위젯 추가하기
         * 컨테이너 내에서 위젯과 위젯들의 묶음은 Shell의 하위 요소로 추가.
         * 각 위젯에 리스너와 이벤트를 장착하여 사용자가 동작 할 수 있게 함.
         * org.eclipse.swt.widgets.Control.pack() 메소드는 구성요소가 필요로 하는 만큼만 화면 크기를 할당
         */
        Text helloText = new Text(shell, SWT.CENTER);
        helloText.setText("Hello SWT");
        helloText.pack();
        shell.pack();
        
        /* GUI 작동
         * shell.open() 호출시 설정한 위젯 화면이 보여진다.
         * Display객체는 readAndDispatch() 메소드를 통해 플랫폼의 이벤트 대기열에 있는 사용자 이벤트 추적
         */
        
        shell.open();
        while (!shell.isDisposed()) {
            if(!display.readAndDispatch()) {
                display.sleep();
            }
        }
        
        display.dispose();
    }
}
cs



수행결과




다운로드

HelloSWT.zip



같이보기

SWT/JFace 개발환경 구축

Hello JFace


이 글을 공유하기

댓글

Email by JB FACTORY