SWT 기본 HelloSWT 실행하기
Java를 처음 배우면 Hello World를 실행해보면서 프로그래밍을 시작하는 것처럼, SWT를 공부하면서 HelloSWT를 실행해보려 합니다.
1. HelloSWT 클래스 생성
com.swtjface.ch2 패키지를 만들고, 그 안에 HelloSWT 클래스를 생성합니다.
2. 코드 작성 및 실행
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
|
package com.swtjface.ch2;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
/**
* HelloSWT 실행
* @author cremazer
*/
public class HelloSWT {
public static void main(String[] args) {
//할당과 초기화
Display display = new Display();
Shell shell = new Shell(display);
//쉘에 위젯 추가하기
Text txtHello = new Text(shell, SWT.CENTER);
txtHello.setText("Hello SWT");
txtHello.pack();
//GUI 작동
shell.pack();
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
|
▶ 실행결과
○ 할당과 초기화
Display 와 Shell 클래스의 인스턴스를 생성하여, GUI가 기본 플랫폼 자원에 접근 할 수 있도록 하고, 위젯을 보여주는 기본 윈도우를 만들 수 있습니다.
○ 쉘에 위젯 추가하기
Text 위젯을 Shell에 추가합니다. 여기에서 GUI기능을 제공하는 데 필요한 블록들을 추가하고 설정합니다. 컨테이너 내에서 위젯과 위젯들의 묶음은 Shell의 하위 요소로 추가됩니다. pack() 메소드는 Shell과 Text 구성요소가 필요로 하는 만큼만 공간을 사용합니다.
○ GUI 작동
이부분은 GUI의 동작을 표현합니다. Shell의 open() 메소드를 호출해야, 응용프로그램의 주요 윈도우와 그 하위 요소들이 나타납니다. Shell이 열린상태로 있는 동안 Display 객체는 readAndDispatch() 메소드를 이용하여 플랫폼의 이벤트 대기열에 있는 사용자 이벤트를 추가합니다. 이러한 사용자 이벤트 중 하나가 윈도우를 닫는 작업이면, Display 객체(Shell과 Shell의 하위 구성 요소)와 관련된 자원 할당을 해제합니다.
참고서적 : SWT/JFace in Action
댓글 없음:
댓글 쓰기