본문 바로가기

Programming/JAVA

Eclipse의 VE를 이용해서 SWT 어플리케이션을 만든다(上)

SWT ()란 무엇인가

 SWT, Eclipse의 가장 중심적인 윈도우·툴 킷입니다
윈도우·시스템은 보통단순하게 윈도우를 관리·표시할 만한 기능을 제공합니다다만그 만큼이라면 윈도우는 「뒤로 숨어 있는 윈도우를 클릭하면 앞에 나온다」라고 하는 기본 동작을 해 주지 않습니다윈도우·어플리케이션은그렇게 말한 처리를 마우스 이벤트 처리등을 적절히 실시하는 것으로 개별적으로 실시하지 않으면 안되지 않고모든 윈도우의 출력은일일이 그래픽API를 이용하지 않으면 안됩니다.
 거기서윈도우·시스템에는 모든 윈도우에 공통의 기능을 애드 온(add-on) 해 추가하고 있습니다예를 들면윈도우의 테두리를 드래그해서 크기를 바꾸거나 타이틀 바를 드래그 해 이동하거나 하는 기능입니다이러한 기능을 제공하는 윈도우·시스템의 요소를 「윈도우·매니저」라고 합니다. Windows 의 경우는Windows 자신이 윈도우·매니저의 역할을 합니다. OS/2 의 경우는PM (프레젠테이션·매니저)입니다. Linux 의 경우는 매우 많은 윈도우·매니저가 있어제공하고 있는 디스트리뷰터에 따라서 다릅니다만, Motif나 GNOME등이 있습니다.

 게다가 윈도우·시스템 전체로 공통에 사용할 수 있는일반적인 동작을 하는 윈도우의 종류(윈도우 클래스라고 합니다)를 미리 준비하고재이용할 수 있도록 하고 있습니다이 윈도우 클래스세트를일반적으로 「윈도우·툴 킷」이라고 합니다일반적으로프레임 윈도우다이얼로그 박스텍스트 필드버튼,리스트나 테이블트리 표시등의 부품이 준비되어 있습니다.

 이러한 윈도우는유저·인터페이스(UI)를 주관하는 소프트웨어 부품이라고 생각할 수 있는 것부터, UI컴퍼넌트라고 부릅니다.

 Win32이나OS/2 PM-API 등이 같은 네이티브의API 에는미리 제공된 윈도우·툴 킷이 있습니다. Linux 등에 채용되고 있는X Window 등에서는, X11R6 라이브러리나, Motif 위젯 같은 툴 킷이 있습니다.

 Java 에는 다음의개의 윈도우·툴 킷이 미리 준비되어 있습니다.

그림 AWT의 컴퍼넌트 
Java 그럼코어의 라이브러리에 Abstract Window Toolkit (이하AWT )이 준비되어 있습니다. java.awt 라이브러리에 포함되어 있습니다.
AWT
매우 심플한API로 사용하는 것은 간단합니다만기능이 떨어지고, GUI성능도 낮고외형도 좋지 않는 등너무 고도의 윈도우·시스템에는 권하지 않습니다.

 

그림2  Swing의 컴퍼넌트 
Java2으로부터 Swing라이브러리라고 하는 툴 킷이 추가되었습니다라이브러리는javax.swing 입니다. Swing에는 AWT에는 없었던 라디오 버튼패스워드 필드슬라이더, combobox, 트리테이블, progress bar라고 하는 컴퍼넌트가 추가되어서고수준의 윈도우·어플리케이션을 만들 수 있게 되었습니다.

 Java 의 윈도우·툴 킷으로서 표준으로 제공되고 있는AWT와 Swing 은 공통적인 단점이 있습니다그것은두 윈도우·툴 킷 모두 PureJava (모든 윈도우 처리를Java에서 처리)라고 하는 설계 때문에 무겁고출력을 모두Java위에서 처리하므로 외형이 좋지 않은 것입니다.

그림3 SWT의 부품

그림SWT의 컨테이너

 SWT, Eclipse의 베이스가 된 Eclipse 독자적인 윈도우·툴킷입니다기능은, Windows와 X-Window의 공통 부분을 뽑아낸 것 같은 것이 되고 있습니다이 툴 킷의 특징은, PureJava가 아니고네이티브API를 사용하는 것에 있습니다예를 들면,Windows 위에서SWT를 사용하는 경우, Win32 에 존재하는 컴퍼넌트는 Win32 API에 의해서 동작합니다. Linux에서 동작하는 경우, X-Window(실제로는 GTK)에 존재하는 컴퍼넌트는GTK 에 의해서 동작합니다만약 네이티브API 에 존재하지 않는 윈도우 컴퍼넌트 (예를 들면, Linux 위에서의 트리 표시), PureJava에 의존합니다.

 이러한 구조를 하고 있기 때문에, SWT의 윈도우 컴퍼넌트는 네이티브API 그 자체이므로매우 성능이 좋고외형도 예쁩니다. Eclipse 의 성공에는, SWT의 존재를 부정할 수 없겠지요.
 Eclipse가 발표되고 나서SWTJava의 데스크탑 어플리케이션에 사용하고 싶다고 하는 요구가 높아져, Eclipse의 최저한의 실행 환경만을 분리한Eclipse RCP(리치·클라이언트·플랫폼)이 나왔습니다이것은리치 클라이언트 어플리케이션을 만들기 위해서 이용할 수 있는 Eclipse의 런타임입니다.

Eclipse SDK ()VE 의 인스톨
 이 기사의 작성 시점에서는 VE의 버전은 v1.1.01이고이것을 기초로 사용법을 설명합니다이전의VE에 비하면꽤 사용하기 쉽게 되어 있습니다. v1.1.01 Eclipse 3.1을 전제로 설명합니다.
 
 Eclipse의 셋업은 연재:Eclipse3.1 사용하자 」를 참조해 주세요.
 
 VE의 최신의 빌드는, Eclipse VE 의 사이트로부터 입수 가능합니다.

 VE를 동작시키려면동시에 몇개의 플러그 인을 인스톨 할 필요가 있습니다. VE의 빌드 버전에 의해서 요구되는 버전이 다르기 때문에조심해 주세요.

 EMF (Eclipse Modeling Framework), Eclipse위에서 다양한 편집기를 만들 때편집자상의 모델 정보를 공유하기 위한 강력한 체제입니다. VE 비주얼 편집기와 원시 코드 편집자와의 사이에 화면의 설계 정보를 공유하기 위해서 이용하고 있습니다.

 GEF (Graphical Editing Framework), Eclipse 위에서 그래피컬 편집기를 만들기 위한 체제입니다편집기상에서 드래그&드롭 가능한 컴포넌트를 표시해선으로 결합하는 툴을 만드는데 필요합니다.

  1. JVM Eclipse 의 모듈을 다운로드합니다
  2. Java는 각각의 인스톨 순서에 따라서 인스톨 해 주세요
  3. 다운로드한 각ZIP 파일을 적당한 디렉토리에 압축을 해제 합니다.
    각 폴더 안에는plugin 폴더와features 폴더가 있습니다이 각각의 폴더의 내용을, Eclipse 본체가 인스톨 된 장소의 같은 이름의 폴더 아래에 카피합니다
  4. eclipse 폴더의「eclipse.exe (Windows 의 경우)를 실행하면, Eclipse 의 워크벤치가 기동합니다

 또한VE는 IBM Rational Application Developer(RAD)등의 일부의 벤더 제품에는 미리 인스톨 되고 있습니다.

이번은 여기까지입니다다음 회에는VE를 사용해SWT 의 패널을 작성합니다.


출처 : http://blog.naver.com/free_hewon/30007881894